MybatisPlus中@TableField注解的使用
場(chǎng)景
項(xiàng)目搭建專欄:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194
基礎(chǔ)搭建:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89407994
實(shí)現(xiàn)
官方文檔說明:
- com.baomidou.mybatisplus.annotations.TableField
?
| value | 字段值(駝峰命名方式,該值可無) |
| update | 預(yù)處理 set 字段自定義注入 |
| condition | 預(yù)處理 WHERE 實(shí)體條件自定義運(yùn)算規(guī)則 |
| el | 詳看注釋說明 |
| exist | 是否為數(shù)據(jù)庫(kù)表字段( 默認(rèn) true 存在,false 不存在 ) |
| strategy | 字段驗(yàn)證 ( 默認(rèn) 非 null 判斷,查看 com.baomidou.mybatisplus.enums.FieldStrategy ) |
| fill | 字段填充標(biāo)記 ( FieldFill, 配合自動(dòng)填充使用 ) |
-
TableField 注解新增屬性?update?預(yù)處理 set 字段自定義注入
例如:@TableField(.. , update="%s+1") 其中 %s 會(huì)填充為字段 輸出 SQL 為:update 表 set 字段=字段+1 where ... 例如:@TableField(.. , update="now()") 使用數(shù)據(jù)庫(kù)時(shí)間 輸出 SQL 為:update 表 set 字段=now() where ... -
TableField 注解新增屬性?condition?預(yù)處理 WHERE 實(shí)體條件自定義運(yùn)算規(guī)則
@TableField(condition = SqlCondition.LIKE) private String name; 輸出 SQL 為:select 表 where name LIKE CONCAT('%',值,'%') -
字段填充策略 FieldFill
?
| DEFAULT | 默認(rèn)不處理 |
| INSERT | 插入填充字段 |
| UPDATE | 更新填充字段 |
| INSERT_UPDATE | 插入和更新填充字段 |
舉例
比如說數(shù)據(jù)庫(kù)中字段為last_name,而實(shí)體類的屬性為lastName。
前提是在全局策略配置中將駝峰命名關(guān)閉。
<property name="dbColumnUnderline" value="false"></property>關(guān)于MyBatisPlus中進(jìn)行通用CRUD全局策略配置參照:< /P>
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89425049
這時(shí)就可以在實(shí)體類上添加:
@TableField(value="last_name")又比如在實(shí)體類中有一個(gè)屬性為remark,但是在數(shù)據(jù)庫(kù)中沒有這個(gè)字段,
但是在執(zhí)行插入操作時(shí)給實(shí)體類的remark屬性賦值了,那么可以通過在實(shí)體類的
remark屬性上添加
@TableField(exist=false)private String remark;就不會(huì)報(bào)錯(cuò)了。
總結(jié)
以上是生活随笔為你收集整理的MybatisPlus中@TableField注解的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatisPlus中进行通用CRUD
- 下一篇: MybatisPlus中插入数据获取主键