当前位置: 首页 > news >正文

做门户类网站报价建设集团网站的作用

做门户类网站报价,建设集团网站的作用,网站界面 欣赏,教育网站图片1.先说场景,在对mysql数据库表数据插入或者更新时都得记录时间和用户id 传统实现有点繁琐,这里还可以封装一下公共方法。 2.解决方法: 2.1:使用aop切面编程(记录一下,有时间再攻克)。 2.2&…

1.先说场景,在对mysql数据库表数据插入或者更新时都得记录时间和用户id

传统实现有点繁琐,这里还可以封装一下公共方法。

2.解决方法:

    2.1:使用aop切面编程(记录一下,有时间再攻克)。

    2.2:使用@TableField()注解。

3.我使用的@TableField  注解实现,因为没有很多的业务处理,单纯的记录一下,以下是具体实现

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {// 在插入时自动填充 create_time 和 update_time 字段this.strictInsertFill(metaObject, "createTime", Date.class, new Date());this.strictInsertFill(metaObject, "createBy", String.class, BaseUtlis.getCurrentUser().getId());}@Overridepublic void updateFill(MetaObject metaObject) {// 在更新时自动填充 update_time 字段this.strictUpdateFill(metaObject, "updateTime",Date.class, new Date());this.strictInsertFill(metaObject, "updateBy", String.class, BaseUtlis.getCurrentUser().getId());}
}

注: 字段需要跟实体类对应起来,我项目架构是使用了驼峰命名使用下划线后字母大写。BaseUtlis.getCurrentUser().getId(),这个是我封装的一个获取当前登录用户的方法。

参数解析:

this.strictUpdateFill(metaObject, "updateTime",Date.class, new Date());

metaObject:对象

updateTime:实体类目标字段

Date.class:数据类型

new Date():具体值

4.yml配置

mybatis-plus:global-config:db-config:meta-object-handler: com.zuodou.mymeta.MyMetaObjectHandler

5.在对应实体类的字段上加

@TableField(fill = FieldFill.UPDATE)

或者

@TableField(fill = FieldFill.INSERT)

6.补充缺陷

 

直接在controllerdi调用根据id修改方法   或者 update 批量根据id修改, 会不触发自动填充

解决使用update,条件传入id或者在service调用,而updateBatchById就需要手动传了。

至于为什么在service调用updateById就能触发

在 MyBatis Plus 中,通常通过继承 ServiceImpl 类来实现 Service 层的操作。这个类提供了一些默认的 CRUD(增删改查)方法,并且默认情况下会使用 MyBatis Plus 的内置功能,比如自动填充。
当你在自己的 Service 类中继承了 ServiceImpl 并且指定了泛型类型,比如 YourService extends ServiceImpl<YourMapper, YourEntity>,这样就将 YourService 和 YourEntity 关联起来了。
MyBatis Plus 的 ServiceImpl 已经预先实现了一些常见的操作方法,其中包括了自动填充的支持。在这个类中,如果你调用了 updateById 方法,它内部会调用 MyBatis Plus 的自动填充逻辑,以便在更新数据时触发自动填充。
当然,前提是你需要做以下几件事情:

1.确保你的实体类中的字段有正确地标注了自动填充的注解,比如使用了 @TableField 注解并设置了相应的 fill 属性。
2.确保你已经正确配置了 MetaObjectHandler,并且这个配置被正确地注册到了 Spring 容器中。这样 MyBatis Plus 才能正确地使用自动填充功能。

因此,当你在自定义的 Service 类中继承了 ServiceImpl,就相当于在你的 Service 类中内置了 MyBatis Plus 提供的默认实现,包括自动填充的支持。这样,在调用 updateById 等方法时,会自动触发 MyBatis Plus 的自动填充逻辑。

(侵权联系删除)

http://www.yayakq.cn/news/213516/

相关文章:

  • 永兴网站建设网站做好了怎样推广
  • 上海最专业的网站设计制12333社保查询网
  • 未来商城网站建设活动拍摄
  • 济南网站建设山东聚搜网好评上市的网站设计公司
  • 网站首页大图的尺寸昆明网红打卡景点
  • 上传网站安装教程视频户外拓展公司网站开发
  • 西安至成网站建设公司企业网站是什么
  • 网站规划与设计大作业网络规划设计师月薪
  • 网站建设推广软件内容展示型网站 设计特点
  • 做网站的公司上海响应式网站开发设计师
  • 智慧政务门户网站建设研究wordpress pluto主题
  • 南阳微网站开发中国建设银行网站怎么登录不上去
  • 大连网站建设公司网站开发工程师工作职责
  • 网站访问量数据ps做网站首页的尺寸
  • 公司网站制做装饰网站建设公司
  • 十条网站建设的seo策略北京婚恋网站哪家最好
  • 怎么做会员自动售卡网站视频网站直播怎么做
  • 销售网站免费做韶关营销型网站建设
  • 湛江专业建站免费咨询手表网站欧米茄价格
  • 公司网站模板大全电商网站如何制作
  • 汕头市建筑信息网站模板网站如何快速交付给客户
  • 一个网站有多大网页传奇怎么开
  • 网站备案 空间高端网站特色
  • 长沙网络建站注册会计师报名
  • 网站建设需要租赁服务器吗简述什么是百度竞价排名
  • 网站软件免费下载大全安阳信息港
  • 自己做的网站怎么连接计算机洞口网站开发公司
  • 贵阳网站建最新闻头条新闻
  • 深圳网站建设怎样容易wordpress 4.9.8创建侧边栏
  • 网站建设验收评审标准单网页网站制作