Spring-test-DbUnit

现象描述

  • 当一个实例下存在多个数据库,而且这个数据库中存在相同名称的表,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;
          }
      }
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容