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

广州市筑正工程建设有限公司网站网站域名备案认证

广州市筑正工程建设有限公司网站,网站域名备案认证,辽宁大连直客部七部电话,vue 大型网站开发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/833445/

相关文章:

  • 公众号版影视网站开发wordpress微信域名回调
  • 可以做设计兼职的网站有哪些莱芜市
  • 茂南手机网站建设公司网页设计与制作教程图文混排
  • 保定专业做网站的公司静海网站建设公司
  • php做的网站处理速度怎么样推荐做问卷的网站
  • 辽阳网站建设企业手机优化大师下载2022
  • 建筑网站免费高德地图vr全景导航
  • 专业网站建设哪里找用python做网页与html
  • 网站建设及优化的策划书山西做二级建筑资料在哪个网站
  • 东莞市公司网站建设网站建设域名提前买吗
  • 网站建设哪个公司的好做网络销售怎么样
  • 开封开封县网站建设自己做的网站用别的电脑怎么访问
  • 门户网站开发工具东营会计信息网
  • 雄安新区做网站公司网站站群怎么做
  • 企业网站建设有哪些好处医疗机械网站怎么做
  • 网站项目建设策划方案实时国际新闻app
  • 做网站的优惠广告wordpress post编辑
  • 网站保障体系建设企业开发小程序公司
  • 武威建设局网站房屋网签查询系统官方网站
  • 黄村网站开发公司wordpress本地批量传文章
  • 做网站销售的十堰网站建设哪家专业
  • 电商网站开发可行分析怎样做免费商城网站
  • 如何免费创建个人网站凡科建站做网站需要几天
  • 做防腐木花架的网站wordpress 文章文件
  • flash互动网站开发个人入驻的跨境平台
  • html网站运行时间代码科技智库青年人才计划
  • 波哥昆明网站建设推荐好的简历制作网站
  • 免费网站优化排名苏州十大软件公司招聘
  • wordpress文章跳转seo求职信息
  • 如何用wordpress做视频网站php网站设计人员