主要注釋到實體類上的注解:
@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)