為什么使用mybatisplus自動(dòng)填充
在項(xiàng)目開發(fā)中,我們會(huì)發(fā)現(xiàn)有一些數(shù)據(jù)庫(kù)表字段是每個(gè)表都有的,在之前針對(duì)這些字段我們的目前的處理方式就是 增加或者修改的時(shí)候一個(gè)一個(gè)的去賦值,如果都按這樣的方法進(jìn)行操作的話,那我們就需要在每個(gè)業(yè)務(wù)方法中進(jìn)行操作,這樣會(huì)顯得我們的代碼過(guò)于冗余、繁瑣。
這個(gè)時(shí)候我們就可以使用Mybatis Plus提供的公共字段自動(dòng)填充功能。
好處
原理:
1、實(shí)現(xiàn)元對(duì)象處理器接口:com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
2、注解填充字段 @TableField(… fill = FieldFill.INSERT) 生成器策略部分也可以配置文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-562494.html
public class User {
// 這里需要標(biāo)記為填充字段
@TableField(.. fill = FieldFill.INSERT)
private String fillField;
}
3、自定義實(shí)現(xiàn)類 MyMetaObjectHandler文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-562494.html
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill ....");
this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推薦使用)
// 或者
this.strictInsertFill(metaObject, "createTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推薦)
// 或者
this.fillStrategy(metaObject, "createTime", LocalDateTime.now(
到了這里,關(guān)于mybatis-plus自動(dòng)填充的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!