在數據庫列命名方式同時存在下划線命名(user_id)和駝峰命名(UserId)時,我們會碰到映射錯誤的問題,mybatis-plus無法正確使用
例如在使用User.setletById()時,會報出錯誤:
com.baomidou.mybatisplus.exceptions.MybatisPlusException: java.lang.reflect.InvocationTargetException
這時可以在實體類的響應字段上加注解 @TableField("數據庫列名")
PS:mybatis-plus注解
@TableName:數據庫表相關
@TableId:表主鍵標識
@TableField:表字段標識
@TableLogic:表字段邏輯處理注解(邏輯刪除)
@TableId(type= IdType.ID_WORKER_STR)
@TableField(exist = false):表示該屬性不為數據庫表字段,但又是必須使用的。
@TableField(exist = true):表示該屬性為數據庫表字段。
@TableField(condition = SqlCondition.LIKE):表示該屬性可以模糊搜索。
@TableField(fill = FieldFill.INSERT):注解填充字段 ,生成器策略部分也可以配置!