首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Spring的jdbc:initialize-database标签应用

2013-03-01 
Spring的jdbc:initialize-database标签使用在使用spring的jdbc:initialize-database标签进行单元测试时,发

Spring的jdbc:initialize-database标签使用

在使用spring的jdbc:initialize-database标签进行单元测试时,发现这个标签与dataSource一同使用时,SQL脚本没有被正确执行,测试过程如下:

applicationContext-jdbc.xml

?java测试代码为:

package com.shagri.showcase.data;import org.junit.Assert;import org.junit.Test;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;@ContextConfiguration("classpath:jdbc/applicationContext-jdbc.xml")public class DataInitTest extends AbstractTransactionalJUnit4SpringContextTests {@Testpublic void testData(){Assert.assertEquals(6,countRowsInTable("ss_user"));}}

? ? ?这里的import-data.sql和schema.sql是从springside4里面取出来的两个文件,在import-data.sql对ss_user表有6个insert语句。所以这里单元测试的期望是表中数据条数为6,但是遗憾的是,这里的测试失败,实际得到的数据条数为0。

? ? ?但是如果将xml文件中的dataSource和jdbc:initialize-database注释掉,而启用jdbc:embedded-database标记时,单元测试结果正确 。

? ? ?想与各位探讨一下这两种使用方式的不同之处,以及为什么会出现这样的问题。

热点排行