通用Mapper,出現sql關鍵字沖突
阿新 • • 發佈:2018-10-17
實現 怎麽 tab鍵 mys 相同 處理 通過 語句 bsp
通用mapper的使用,減少了大量操作,提高了工作效率,在使用通用mapper 時,mysql表裏有和sql保留關鍵字相同的字段
在定義實體類時,通過定義駝峰命名的屬性名,實現自動映射,可是在入庫操作過程中報出sql語法錯誤,如:
into test_table (id,name,desc,password) values (?,?,?,?)
這樣的語句裏面還有sql關鍵字desc,一般出現這種情況,我們通常會在desc上加上 ``(轉移符,位置在tab鍵上方)就可以了,如:
insert into test_table (id,name,`desc`,password) values (?,?,?,?)
對於這樣的關鍵字沖突這樣處理就沒有問題了。。。
可是我們用的是通用mapper,基本的CURD語句都不用手寫,那如果在用通用mapper的時候出現關鍵字沖突的話,該怎麽辦呢?
只需在該表對應實體類中的desc屬性上加上JPA註解@Column(name = "`desc`")
比如:
@Column(name = "`desc`")
private String desc;
這樣通用mapper會自動生成插入語句
insert into test_table (id,name,`desc`,password) values (?,?,?,?)
問題解決。。。
通用Mapper,出現sql關鍵字沖突