最近遇到php转java的一个项目,数据库用的是mysql,里面的表名取的都是关键字,像order,group等表.
当我用mybatis配置自动生成mapper文件,一直报错**.java.sql.SQLSyntaxErrorException: 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 ‘order) tmp_count’ at line 2
进入生成的mapper文件
细看,才发现order没有用反双引号order
括起来,后来在mybatis-generator.xml文件加入
<table tableName="`order`" domainObjectName="Order" delimitIdentifiers="true"></table>
加了个反双引号和delimitIdentifiers = true(此配置为大小写敏感的一个配置),即可解决表名为关键字的问题.亲测有效哦!下面为自动生成的sql
用这种方面就可以解决表名为关键字的坑,不过最好避免这种表的命名,谢谢。