Mybatis-plus的自动赋值fill = FieldFill

Mybatis-plus的自动赋值工具类

mybatis-plus作为强大的 mybatis辅助集成升级版本插件,却没有默认的注解支持自动赋值

自动赋值

所以我们今天 说一下 如何实现在向数据库进行插入或者更新操作时,自动赋值,话不多说,直接上干货
首先创建实体类,加入如下注解

 @TableField(value = "ModifyAt", fill = FieldFill.INSERT_UPDATE)
  private Date modifyAt;

以更新字段modifyAt举例

创建一个类实现MetaObjectHandler类

@Component

public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
    public void insertFill(MetaObject metaObject) {
        try{
            this.setFieldValByName("addAt", new Date(), metaObject);
            this.setFieldValByName("modifyAt", new Date(), metaObject);
        }catch (Exception e){
            e.printStackTrace();
        }
        try {
            DjsaasUserDetails currentUser = WebUtil.getCurrentUser();
            if(currentUser!=null){
                this.setFieldValByName("addUser", currentUser.getUserID(), metaObject);
                this.setFieldValByName("addUserName", currentUser.getUserName(), metaObject);
                this.setFieldValByName("modifyUser", currentUser.getUserID(), metaObject);
                this.setFieldValByName("modifyUserName", currentUser.getUserID(), metaObject);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        try{
            this.setFieldValByName("modifyAt", new Date(), metaObject);
            this.setFieldValByName("ModifyAt", new Date(), metaObject);
        }catch (Exception e){
            e.printStackTrace();
        }
       try {
           DjsaasUserDetails currentUser = WebUtil.getCurrentUser();
           if(currentUser!=null){
               this.setFieldValByName("modifyUser", currentUser.getUserID(), metaObject);
               this.setFieldValByName("modifyUserName", currentUser.getUserName(), metaObject);
           }


       }catch (Exception e){
           e.printStackTrace();
       }
    }
    }

如此便实现了 自动插入功能,是不是很简单呢?赶快动手 试试吧!Mybatis-plus的自动赋值fill = FieldFill_第1张图片

你可能感兴趣的:(中间件,mybatis,java,spring)