mybatisPlus 實體類與數(shù)據(jù)庫表映射關(guān)系詳解
實體類與數(shù)據(jù)庫表映射關(guān)系
使用mybatisPlus時,會確定實體類和數(shù)據(jù)的映射關(guān)系
具體的映射方法有兩種
1、默認(rèn):采用駝峰映射規(guī)則
例如MyUserTable 對應(yīng)的數(shù)據(jù)庫表為 my_user_table ; TEMyUserTable 對應(yīng)表名為t_e_my_user_table;
2、注解@TableName
在類名上方添加@TableName("my_user_table")
忽略某個實體類屬性和數(shù)據(jù)庫表字段之間的映射關(guān)系
問題描述
在開發(fā)中可能會遇到MyBatis-Plus使用實體類屬性進(jìn)行SQL操作,但是不用存到數(shù)據(jù)庫中去查找,這時候我們的實體中有這個屬性,但是數(shù)據(jù)庫的表中沒有這個字段(即:實體類屬性非數(shù)據(jù)庫表字段),如果不做處理就會報錯。
API
@TableName:數(shù)據(jù)庫表相關(guān)@TableId:表主鍵標(biāo)識@TableField:表字段標(biāo)識@TableLogic:表字段邏輯處理注解(邏輯刪除)
解決方案
忽略映射字段時可以在實體類屬性上使用以下注解:
@TableField(exist = false):表示該屬性不為數(shù)據(jù)庫表字段,但又是必須使用的。@TableField(exist = true):表示該屬性為數(shù)據(jù)庫表字段。
在實體類的屬性上面加上這個注解后,此字段就不會映射數(shù)據(jù)庫了。
?@TableField(exist = false) ? private Position position;
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入分析Comparable與Comparator及Clonable三個Java接口
接口不是類,而是對類的一組需求描述,這些類要遵從接口描述的統(tǒng)一格式進(jìn)行定義,這篇文章主要為大家詳細(xì)介紹了Java的Comparable,Comparator和Cloneable的接口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-05-05
常用Maven庫,鏡像庫及maven/gradle配置(小結(jié))
這篇文章主要介紹了常用Maven庫,鏡像庫及maven/gradle配置(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
java中FileOutputStream中文亂碼問題解決辦法
這篇文章主要介紹了java中FileOutputStream中文亂碼問題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04

