Тестовый пример Junit для вставки данных в БД

#database #junit

#База данных #junit

Вопрос:

В моем проекте я должен реализовать тестовый пример JUnit, который будет вставлять данные в таблицу БД во время запуска сервера. Кто-нибудь может предложить, как это реализовать?

Комментарии:

1. какое приложение вы используете? простое приложение на основе сервлетов или какая-то работа с фреймом mvc?

2. @Prasanna Talakanti: Spring MVC

Ответ №1:

Я перечислил здесь несколько решений

  1. Используя базу данных spring init, добавьте это в свой файл контекста spring, spring выполнит sql-скрипт при загрузке контейнера

     <!--  Script with sql to insert statements -->
     <jdbc:initialize-database>
          <jdbc:script location="classpath:initDB.sql"/>
      </jdbc:initialize-database>
      
  2. Вы можете сделать это с помощью кода, это привяжет ваш код к интерфейсам Spring

      @Service
     public class InitializeDBService implements InitializingBean 
     {
    
       @Autowired
        JdbcTemplate jdbcTemplate;
    
       @Override
        public void afterPropertiesSet() throws Exception {
         jdbcTemplate.execute("your inserts");
        }
     }
      
  3. Для этого можно использовать сервлет

      @SuppressWarnings("serial")
     public class InitDBServlet extends HttpServlet 
     {
      public void init() throws ServletException
      {
          //spawning the thread so that not to delay servlet start up
          new Thread(new InitDB()).start();
      }
    
      class InitDB implements Runnable
      {
      @Override
      public void run() 
      {
        //add your insert code here
      }
       }  
      }