org.postgresql.util.PSQLException:错误:语法错误位于或接近;“用户”;
上面的xml给了我一个错误。问题是我为用户保留了一个字。我怎样才能解决这个问题。有链接吗 更新 我使用的是spring boot、spring data jpa、spring test dbunit、dbunit、postgresql根据这个论坛,dbunit似乎没有办法“引用”表名。但如果出于某种原因不想重命名表或使用旧数据库,则可以配置org.postgresql.util.PSQLException:错误:语法错误位于或接近;“用户”;,postgresql,dbunit,spring-test-dbunit,Postgresql,Dbunit,Spring Test Dbunit,上面的xml给了我一个错误。问题是我为用户保留了一个字。我怎样才能解决这个问题。有链接吗 更新 我使用的是spring boot、spring data jpa、spring test dbunit、dbunit、postgresql根据这个论坛,dbunit似乎没有办法“引用”表名。但如果出于某种原因不想重命名表或使用旧数据库,则可以配置DatabaseDataSourceConnectionFactoryBean <dataset> <user id="1" create
DatabaseDataSourceConnectionFactoryBean
<dataset>
<user id="1" created_date='2017-01-01 00:00:00' email="" user_name="root"/>
</dataset>
将true设置为qualifiedTableNames后,您应该在xml中提供ur表的全名
@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;
}
}
user
是一个保留关键字,必须引用:“user”
。如果你找到了一个不是保留名称的不同名称,那么麻烦就会小得多keyword@a_horse_with_no_name你能告诉我怎么引用保留字吗。我试过了,但没有一个能在SQL中工作“”,你只需使用“user”
,我不知道在DbUnit的XML中你会怎么做。但同样:试着找到一个不需要引用的名字。您将为自己省去很多麻烦(DbUnit显然无法正确处理保留关键字只是一个例子)
<public.user id="1" created_date='2017-01-01 00:00:00' email="root@demo.io" password="your password" username="root"/>