Spring-test-DbUnit
2019-06-15 本文已影响0人
沧海月明猪有泪
现象描述
- 当一个实例下存在多个数据库,而且这个数据库中存在相同名称的表,Dbunit会报一个不能区分是哪个表的错误
原因
- 在没有指定Schema的情况下,DbUnit会默认扫描整个实例。
解决
-
指定一个Schema
@Configuration public class DbUnitConfig { @Bean("dbUnitConnection") public DatabaseDataSourceConnectionFactoryBean getTestConnection(DataSource dataSource) { DatabaseDataSourceConnectionFactoryBean bean = new DatabaseDataSourceConnectionFactoryBean(); bean.setDataSource(dataSource); DatabaseConfigBean databaseConfigBean = new DatabaseConfigBean(); databaseConfigBean.setMetadataHandler(new MySqlMetadataHandler()); databaseConfigBean.setAllowEmptyFields(true); bean.setDatabaseConfig(databaseConfigBean); bean.setSchema("wms_core"); return bean; } }