當在使用plus開發過程中,有時候關聯屬性欄位與表結構不一致,導致使用plus時報錯。
主要註釋到實體類上的註解:
@TableName(value = …)
當資料庫名與實體類名不一致或不符合駝峰命名時,需要在此註解指定表名
@TableId(type = …)
指定實體類的屬性為對應的主鍵,主要有以下幾種:
// 資料庫ID自增
IdType.AUTO
// 該型別為未設定主鍵型別(預設)
IdType.NONE
/**
* 使用者輸入ID
* <p>該型別可以透過自己註冊自動填充外掛進行填充</p>
*/
IdType.INPUT
/* 以下3種型別、只有當插入物件ID 為空,才自動填充。 */
//1.全域性唯一ID (idWorker)
IdType.ID_WORKER
//2.全域性唯一ID (UUID)
IdType.UUID
//3.字串全域性唯一ID (idWorker 的字串表示)
IdType.ID_WORKER_STR
@TableField註解
1、 主要用來解決實體類的欄位名與資料庫中的欄位名不匹配的問題(資料庫user_addr,欄位useraddr未駝峰)
2、 實體類中的屬性欄位在表中不存在的問題
常用:
// 用來解決資料庫中的欄位和實體類的欄位不匹配問題
@TableField(value = "age")
// 用來解決實體類中有的屬性但是資料表中沒有的欄位
@TableField(exist = false) // 預設為true
如不指定,出現以下的異常:BadSqlGrammarException
// 查詢時不返回該欄位,預設true,和@TableId作用在同一個欄位上時失效
@TableField(select = false)
本作品採用《CC 協議》,轉載必須註明作者和本文連結