当前位置:   article > 正文

mybatis plus 配置自动设置创建时间和创建人id_mybatisplus设置增加用户时的id

mybatisplus设置增加用户时的id

1.新建 MyMetaObjectHandler

  1. package com.ruoyi.framework.config;
  2. import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
  3. import com.ruoyi.common.bean.LocalUser;
  4. import com.ruoyi.coupon.domain.CouponUser;
  5. import org.apache.ibatis.reflection.MetaObject;
  6. import org.springframework.stereotype.Component;
  7. import java.util.Date;
  8. /**
  9. * 自动插入时间和操作人id
  10. */
  11. @Component
  12. public class MyMetaObjectHandler implements MetaObjectHandler {
  13. @Override
  14. public void insertFill(MetaObject metaObject) {
  15. this.setFieldValByName("createTime",new Date(),metaObject);
  16. CouponUser user = LocalUser.getUser();
  17. if(user != null){
  18. this.setFieldValByName("createBy",String.valueOf(user.getId()),metaObject);
  19. }
  20. }
  21. @Override
  22. public void updateFill(MetaObject metaObject) {
  23. this.setFieldValByName("updateTime",new Date(),metaObject);
  24. CouponUser user = LocalUser.getUser();
  25. if(user != null){
  26. this.setFieldValByName("updateBy",String.valueOf(user.getId()),metaObject);
  27. }
  28. }
  29. }

2.待自动设置字段加注解

  1. public class BaseEntity implements Serializable
  2. {
  3. /** 创建者 */
  4. @TableField(fill = FieldFill.INSERT)
  5. private String createBy;
  6. /** 创建时间 */
  7. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  8. @TableField(fill = FieldFill.INSERT)
  9. private Date createTime;
  10. /** 更新者 */
  11. @TableField(fill = FieldFill.INSERT_UPDATE)
  12. private String updateBy;
  13. /** 更新时间 */
  14. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  15. @TableField(fill = FieldFill.INSERT_UPDATE)
  16. private Date updateTime;
  17. }

2.如果无效,则需要加入一下配置

 

  1. @Bean
  2. public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
  3. {
  4. String typeAliasesPackage = env.getProperty("mybatis-plus.typeAliasesPackage");
  5. String mapperLocations = env.getProperty("mybatis-plus.mapperLocations");
  6. String configLocation = env.getProperty("mybatis-plus.configLocation");
  7. typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
  8. VFS.addImplClass(SpringBootVFS.class);
  9. final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean ();
  10. sessionFactory.setDataSource(dataSource);
  11. sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
  12. sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
  13. sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
  14. //获取mybatis-plus全局配置
  15. GlobalConfig globalConfig = GlobalConfigUtils.defaults();
  16. //mybatis-plus全局配置设置元数据对象处理器为自己实现的那个
  17. globalConfig.setMetaObjectHandler(new MyMetaObjectHandler());
  18. sessionFactory.setGlobalConfig(globalConfig);
  19. return sessionFactory.getObject();
  20. }

至此完成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/407509
推荐阅读
相关标签
  

闽ICP备14008679号