在我的项目中,我必须实现一个JUnit测试用例,它将在服务器启动时在数据库表中插入数据。 任何人都可以建议如何实施它?
答案 0 :(得分:0)
我在这里列出了一些解决方案
使用spring init数据库,将其添加到spring上下文文件中,spring将在启动容器时执行sql脚本
<!-- Script with sql to insert statements -->
<jdbc:initialize-database>
<jdbc:script location="classpath:initDB.sql"/>
</jdbc:initialize-database>
您可以使用代码执行此操作,这会将您的代码绑定到spring接口
@Service
public class InitializeDBService implements InitializingBean
{
@Autowired
JdbcTemplate jdbcTemplate;
@Override
public void afterPropertiesSet() throws Exception {
jdbcTemplate.execute("your inserts");
}
}
您可以使用servlet执行此操作
@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
}
}
}