数据库字段为key,java实体中也为key,此时用mybatis去新增或者修改,就会报错:Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near
对于这种虽然在实体中取别名可以解决,但是如果有多个,就需都取一个别名,但是在配置Mapper时可以配置一个全局的属性wrapKeyword,配置后会自动处理关键字
配置方法:在applicationContext.xml配置文件中,在配置mybatis配置中加上下面这段配置即可解决所有关键字的问题
<property name="mapperProperties"> <props> <!-- 避免数据库使用了关键字 --> <prop key="wrapKeyword">`{0}`</prop> </props> </property>
以上为解决方案,但是只针对于spring,在springboot中暂时还不太清楚怎样去配置这个属性,如果有清楚的可以评论区交流一下如何配置此属性。