目标:

懂得实现 Mybatis-Plus的自动填充


实现步骤:

1、新建一个handle类 实现元对象处理器接口
2、实体类属性上 添加对应的注解(注解填充字段 @TableField)


一、如何理解MyBatis-Plus的自动填充呢?

可以翻开之前的SMBMS博客,里面关于数据库中的表属性是否带了两个属性,即创建时间修改时间,每当创建(插入)一条新数据时,会在 实体类对象创建时 赋予 new Date() 给创建时间属性,同时在修改数据时也会使用 new Date() 重新赋予 修改时间的值,以确保同步。

那么,我们要如何使用MyBatis-Plus进行自动填充呢?

1、首先修改数据库表的设计,新增两个字段

实体类也要修改对应属性

2、新建一个handle类 实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.MetaObjectHandler

@Component // 将处理器加入到IOC容器中
public class MyHandle implements MetaObjectHandler {// 插入时的填充策略@Overridepublic void insertFill(MetaObject metaObject) {this.setFieldValByName("createTime", new Date(),metaObject);this.setFieldValByName("updateTime", new Date(),metaObject);}// 更新时的填充策略@Overridepublic void updateFill(MetaObject metaObject) {this.setFieldValByName("updateTime", new Date(),metaObject);}
}

setFieldValByName方法具体参数

3、实体类属性上 添加对应的注解(注解填充字段 @TableField)

4、测试插入数据 和 更新数据

测试插入

 @Testvoid testInsert(){User user = new User();user.setName("CSNZ_WX");user.setAge(21);int res = userMapper.insert(user);System.out.println(res);}

测试更新

    @Testvoid testUpdate(){User user = new User();user.setId(1491710152594796547L);user.setName("wx:CSNZ_WX");int res = userMapper.updateById(user);System.out.println(res);}

二、到这里肯定又对 @TableField 注解 有疑惑了

看源码


生成器策略部分 --> @TableField(… fill = FieldFill.INSERT)

可以看到 FieldFill也是一个枚举类,并且 fill属性的值 默认为FieldFill默认不处理

我们上面那个案例用的是 插入填充字段插入和更新填充字段

三、注意事项

MyBatis-Plus 扩展篇 > 自动填充功能相关推荐

  1. MyBatis-plus自动填充功能之自动填充时间

    MyBatis-plus自动填充功能之自动填充时间 一.前期工作 二.自动填充 2.1 数据库级别 2.2 代码级别 在实际操作过程中,我们并不希望创建时间.修改时间这些来手动进行,而是希望通过自动化 ...

  2. 360 html禁止自动填充,360极速浏览器如何停用“自动填充”功能

    360极速浏览器管理停用"自动填充"功能的方法如下: 1.使用"自动填充选项"对话框添加.编辑或删除已创建的"自动填充"条目. 2.点击地址 ...

  3. MyBatis-Plus 高级功能 —— 自动填充功能

    一.引言 小编先来解释下自动填充是做什么的,大家有没有在数据入库的时候,不管新增或者修改数据,都要手动来设置添加时间和修改时间.而且每个插入都需要设置,而且数据库还设置不能为空,就很烦恼. 虽然可以在 ...

  4. excel填充序列_猴哥讲述:excel的自动填充功能——自动填充单元格

    我们都知道excel的自动填充功能非常的好用,自动填充功能可以帮我们在工作中大大的提升工作效率,同时还可以准确无误的帮助我们进行数据自动输入,我们也可以自定义自动填充的序列. 一.自动填充功能,是指我 ...

  5. MyBatis-Plus——自动填充功能实现

    文章目录 MyBatis-Plus--自动填充功能 1.什么是自动填充 2.数据库层面实现 3.编程实现(推荐) MyBatis-Plus--自动填充功能 1.什么是自动填充 有些表中会有更新时间up ...

  6. 【MyBatis-Plus】实现字段自动填充功能

    一.前言 在项目中,我们有一些公共的字段需要做修改 如: gmt_create:创建时间 creator_id:创建人 gmt_modified:修改时间 modifier_id:修改人 这时候我们可 ...

  7. Mybatis-plus的自动填充功能

    1.概述 在我们开发过程中,经常需要做一些插入操作,有些麻烦,特别是对于一些每次插入或修改都需要改变的的一些字段,例如创建时间和修改时间两个字段,和数据没什么关系但是每次修改都需要被动修改这两个字段, ...

  8. 谷歌浏览器自动填充功能怎么开启?自动填充功能开启方法

    为了避免用户在登录同一网站时频频输入账号.密码的现象,谷歌在自家的Chrome浏览器中贴心的加入了"自动填充功能".那么,谷歌浏览器自动填充功能要怎么开启呢?不清楚操作方法的朋友, ...

  9. MySQL实现字段自动填充功能

    根据阿里巴巴开发手册,有这么一句话:所有的数据库表当中必须有gmt_create.gmt_modified,几乎所有的表都要配置上!而且需要自动化!!! 对于创建时间.修改时间这些字段,我们是希望在添 ...

  10. EXCEL2016的 ctrl+E 神奇的自动填充功能

    自动填充功能 1 完全不需要写公式 2 原始数据列,边上,新增新的列 3 选择新列的空白地方,按  ctrl + E  很神奇

最新文章

  1. Android ViewPager2 真的香么?
  2. 前端学习(3290):react hook state-hook传入对象+1操作
  3. 马斯克称自己可能染上中度新冠肺炎
  4. 「 软件安装 」嵌入式开发Keil5安装教程
  5. upc 兔子与兔子(字符串Hash)
  6. 恩山斐讯论坛k2p_K2P A1 A2 路由器刷机教程 最详细教程,适合新手!
  7. 高性能计算机介绍,曙光个人高性能计算机介绍
  8. 爬虫抓包问题全面分析
  9. HP EVA4400简介
  10. 微信图片怎么添加竖排文字_怎样在手机上给微信图片上添加文字?
  11. 1.16. BIP39协议:使用助记词生成确定性钱包
  12. Unity粒子特效场景视图下可见但游戏视图下不可见
  13. 如何写朋克摇滚原创歌曲
  14. CSS 渐变色 (超好看)
  15. 中国RFID行业市场前景规划与运营模式分析报告2022-2028年版
  16. mysql 乱码恢复_数据恢复后文档乱码怎么办怎么修复
  17. 分支限界法经典问题——FIFO、LIFO、LC、带时限的作业排序、15谜问题
  18. 10 个超极好用的 VS Code 神级插件,每个程序员必备!
  19. 今日头条2018安卓实习笔试题
  20. 计算机二级报的是ms office,计算机二级考试MS OFFICE难不难?

热门文章

  1. 干货必看|分销商城系统体系设计
  2. Eval Reset忘记重置怎么办
  3. 【BUG记录】Idea spring boot项目中target中没有同步更新最新目录文件及资源
  4. 白嫖?给我也整一个!白嫖网易云游戏平台时长(网易云游戏平台自动签到)
  5. 产品定位的方法与案例,遵循 大而全不如小而精 理念
  6. 与门,AND Gate
  7. 英语和计算机水平,关于我的英语和计算机水平的分析
  8. 通过堡垒机/跳板机实现文件在本地Mac与服务器之间的互传
  9. VB.net是个弥天大谎,VB.net已死(海康威视 SDK 开发有感)
  10. 使用requests.get()爬取猫眼电影数据,返回值与网页源代码不一致