解決 Mybatis Generator由表字段使用關鍵字導致的異常方案
阿新 • • 發佈:2018-12-31
引言
前幾天由於用python拉取第三方介面的資料以後,他們直接返回建表的欄位和命令,也就說我們必須按照他們設定的欄位名稱來使用,他們的命名裡面有很多的mysql的關鍵字,這就說我們寫sql的時候,需要注意關鍵字,但是我們後端用的mybatis Generator,這就導致各種錯誤,因為之前沒有遇到過這種場景,所以晚上查詢了很多資料,最後在官網上找到了解決方案,其實很簡單。
在context節點中增加如下屬性為關鍵字新增屬性:
<!-- 為sql關鍵字新增分隔符 --> <property name="autoDelimitKeywords" value="true"/>
需要注意的是Mybatis Generator為關鍵詞新增的分隔符為(””)雙引號,這在MySQL中是不對的,所以我們需要藉助beginningDelimiter、endingDelimiter屬性修改預設分隔符:
<property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/>
OK,搞定執行,你就會發現關鍵詞已經被加上`分隔符了。