将数据插入数据库的 Junit 测试用例

发布于 2024-12-08 09:57:13 字数 66 浏览 0 评论 0原文

在我的项目中,我必须实现一个 JUnit 测试用例,它将在服务器启动时将数据插入数据库表中。 有人可以建议如何实施吗?

In my project, I have to implement a JUnit testcase which will insert data in a DB table at the time of server start up.
Can anybody suggest how to implement it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2024-12-15 09:57:13

我在这里列出了一些解决方案

  1. 使用spring init数据库,将其添加到您的spring上下文文件中,spring将在启动容器时执行sql脚本

    
     ;
          
      
    
  2. 您可以使用代码来做到这一点,这会将您的代码与 spring 绑定接口

    <前><代码>@Service
    公共类InitializeDBService实现InitializingBean
    {

    @Autowired
    JdbcTemplate jdbcTemplate;

    @覆盖
    公共无效afterPropertiesSet()抛出异常{
    jdbcTemplate.execute("你的插入内容");
    }
    }

  3. 你可以使用 servlet 来做到这一点

     @SuppressWarnings("串行")
     公共类 InitDBServlet 扩展 HttpServlet 
     {
      public void init() 抛出 ServletException
      {
          //生成线程,以免延迟 servlet 启动
          新线程(新InitDB())。start();
      }
    
      类 InitDB 实现 Runnable
      {
      @覆盖
      公共无效运行() 
      {
        //在这里添加你的插入代码
      }
       }  
      }
    

I have listed few solutions here

  1. Using spring init data base, add this to your spring context file, spring will execute the sql script as it boots up container

    <!--  Script with sql to insert statements -->
     <jdbc:initialize-database>
          <jdbc:script location="classpath:initDB.sql"/>
      </jdbc:initialize-database>
    
  2. You can do that using code , This will tie your code to spring interfaces

     @Service
     public class InitializeDBService implements InitializingBean 
     {
    
       @Autowired
        JdbcTemplate jdbcTemplate;
    
       @Override
        public void afterPropertiesSet() throws Exception {
         jdbcTemplate.execute("your inserts");
        }
     }
    
  3. You could use a servlet to do this

     @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
      }
       }  
      }
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文