根據這個論壇https://sourceforge.net/p/dbunit/mailman/message/20643023/它似乎並不像DBUnit的更新
有辦法「報價「表名。但是,您可以配置DatabaseDataSourceConnectionFactoryBean
如果你不想重命名出於某種原因表或與傳統數據庫
@Configuration
public class Custom.... {
@Autowired
private DataSource dataSource;
@Bean
public DatabaseConfigBean dbUnitDatabaseConfig() {
DatabaseConfigBean dbConfigBean = new DatabaseConfigBean();
// dbConfigBean.setDatatypeFactory(new PostgresqlDataTypeFactory());
dbConfigBean.setQualifiedTableNames(true);
return dbConfigBean;
}
@Bean
public DatabaseDataSourceConnectionFactoryBean dbUnitDatabaseConnection() {
DatabaseDataSourceConnectionFactoryBean databaseDataSourceConnectionFactoryBean = new DatabaseDataSourceConnectionFactoryBean(dataSource);
databaseDataSourceConnectionFactoryBean.setDatabaseConfig(dbUnitDatabaseConfig());
return databaseDataSourceConnectionFactoryBean;
}
}
工作設置真實qualifiedTableNames後,你應該在XML
<public.user id="1" created_date='2017-01-01 00:00:00' email="[email protected]" password="your password" username="root"/>
烏拉圭回合表給出全名' user'是一個保留關鍵字,它必須被引用:''user「'。如果您發現不是保留關鍵字的不同名稱,您將會遇到更少的麻煩 –
@a_horse_with_no_name請您介紹如何引用保留字。我嘗試過,但不能<'user' id =「1」created_date ='2017-01-01 00:00:00'email =「」user_name =「root」/>這些工作都沒有「」'' – roki
在SQL你只需使用''user''我不知道你會如何在DbUnit的XML中做到這一點。但是,再次嘗試找到一個不需要引用的名稱。您將節省很多麻煩(DbUnit顯然無法正確處理保留關鍵字僅僅是一個例子) –