在某个项目中遇到这么一个问题,因为原始表结构中某些字段定义使用了MySQL的关键字如match等,在使用Mybatis Generator生成代码时造成了运行异常。查找了半天解决方案,最后在官网上看到其实它已经提供了原生解决方案。

在context节点的property定义中存在如下属性:

在context节点中增加如下属性为关键字添加属性:

<!-- 为sql关键字添加分隔符 -->
<property name="autoDelimitKeywords" value="true"/>

需要注意的是Mybatis Generator为关键词添加的分隔符为(””)双引号,这在MySQL中是不对的,所以我们需要借助beginningDelimiter、endingDelimiter属性修改默认分隔符:

<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>

OK,搞定运行,你就会发现关键词已经被加上`分隔符了。