找回密码
 立即注册

mybatisplus添加字段填充(java)

2022-7-23 22:37:19 · 站长社区
使用mybatisplus开发时,有一些字段是通用的,为避免每次都要重复写代码,可以使用字段填充功能,包括 INSERT和UPDATE

一、在所需要的实体类的字段上添加
  1. @TableField(value = "F_CREATORUSERID",fill = FieldFill.INSERT)
  2. private String creatorUserId;
  3. 或者
  4. @TableField(value = "F_LASTMODIFYTIME",fill = FieldFill.UPDATE)
  5. private Date lastModifyTime;
复制代码
二、添加完之后我们需要建个类继承MetaObjectHandler来实现字段填充
  1. @Component
  2. public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {

  3. private UserProvider userProvider;

  4. @Override
  5. public void insertFill(MetaObject metaObject) {
  6.     userProvider = SpringContext.getBean(UserProvider.class);//此处是为获取用户信息而添加的
  7.     UserInfo userInfo=userProvider.Get();
  8.     this.setFieldValByName("creatorUserId", userInfo.getUserId(),metaObject);
  9.     this.setFieldValByName("creatorTime", new Date(),metaObject);
  10. }

  11. @Override
  12. public void updateFill(MetaObject metaObject) {
  13.     userProvider = SpringContext.getBean(UserProvider.class);
  14.     UserInfo userInfo=userProvider.Get();
  15.     this.setFieldValByName("lastModifyTime", new Date(),metaObject);
  16.     this.setFieldValByName("lastModifyUserId", userInfo.getUserId(),metaObject);
  17. }
复制代码
三、需要在mybatisconfig中添加全局配置GlobalConfig
  1. //全局配置
  2. GlobalConfig globalConfig  = new GlobalConfig();
  3. //配置填充器
  4. globalConfig.setMetaObjectHandler(new MybatisPlusMetaObjectHandler());
  5. bean.setGlobalConfig(globalConfig);
  6. 添加完这个就可以实现自动填充了
复制代码


全部评论 0

使用mybatisplus开发时,有一些字段是通用的,为避免每次都要重复写代码,可以使用字段填充功能,包括 INSERT和UPDATE

一、在所需要的实体类的字段上添加
  1. @TableField(value = "F_CREATORUSERID",fill = FieldFill.INSERT)
  2. private String creatorUserId;
  3. 或者
  4. @TableField(value = "F_LASTMODIFYTIME",fill = FieldFill.UPDATE)
  5. private Date lastModifyTime;
复制代码
二、添加完之后我们需要建个类继承MetaObjectHandler来实现字段填充
  1. @Component
  2. public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {

  3. private UserProvider userProvider;

  4. @Override
  5. public void insertFill(MetaObject metaObject) {
  6.     userProvider = SpringContext.getBean(UserProvider.class);//此处是为获取用户信息而添加的
  7.     UserInfo userInfo=userProvider.Get();
  8.     this.setFieldValByName("creatorUserId", userInfo.getUserId(),metaObject);
  9.     this.setFieldValByName("creatorTime", new Date(),metaObject);
  10. }

  11. @Override
  12. public void updateFill(MetaObject metaObject) {
  13.     userProvider = SpringContext.getBean(UserProvider.class);
  14.     UserInfo userInfo=userProvider.Get();
  15.     this.setFieldValByName("lastModifyTime", new Date(),metaObject);
  16.     this.setFieldValByName("lastModifyUserId", userInfo.getUserId(),metaObject);
  17. }
复制代码
三、需要在mybatisconfig中添加全局配置GlobalConfig
  1. //全局配置
  2. GlobalConfig globalConfig  = new GlobalConfig();
  3. //配置填充器
  4. globalConfig.setMetaObjectHandler(new MybatisPlusMetaObjectHandler());
  5. bean.setGlobalConfig(globalConfig);
  6. 添加完这个就可以实现自动填充了
复制代码


热门推荐
您需要登录后才可以回帖 立即登录
说说你的想法......
0
0
0
返回顶部