MybatisPlus自动填充(建立、更新时间)
准备
1、建立user表
DROP TABLE IF EXISTS user;CREATE TABLE user
(id BIGINT(20) NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11) NULL DEFAULT NULL COMMENT '年龄',email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (id)
);
2、插入样例数据
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
方式一:数据库级别(工作中不允许你修改数据库)
1、在表中新增字段 create_time, update_time
2、测试插入方法,我们需要先把实体类同步!
原实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private Long id;private String name;private Integer age;private String email;
}
加入
private Date createTime; //java.util.Date
private Date updateTime;
![](/assets/blank.gif)
执行更新操作(更新id为5的age)
@Test
void testUpdate(){User user = new User();user.setId(5L);user.setAge(20);userMapper.updateById(user);
}
更新后
方式二:代码级别
1、删除数据库的默认值、更新操作!
2、实体类字段属性上需要增加注解
// 字段添加填充内容
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
3、编写处理器来处理这个注解即可!
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {log.info("insertFill start ...");this.setFieldValByName("createTime",new Date(),metaObject);this.setFieldValByName("updateTime",new Date(),metaObject);}@Overridepublic void updateFill(MetaObject metaObject) {log.info("updateFill start ...");this.setFieldValByName("updateTime",new Date(),metaObject);}
}
MybatisPlus自动填充(建立、更新时间)相关推荐
- MyBatis-plus自动填充功能之自动填充时间
MyBatis-plus自动填充功能之自动填充时间 一.前期工作 二.自动填充 2.1 数据库级别 2.2 代码级别 在实际操作过程中,我们并不希望创建时间.修改时间这些来手动进行,而是希望通过自动化 ...
- mybatis 自动填充无效_开发小知识-mybatis-plus自动填充与读写分离
mybatis-plus 自动填充 说明 我们在设计表结构的时候,往往会额外添多如下几个字段 create_time[表字段]-- createTime[实体字段] : 创建时间 update_tim ...
- MyBatis-Plus——自动填充功能实现
文章目录 MyBatis-Plus--自动填充功能 1.什么是自动填充 2.数据库层面实现 3.编程实现(推荐) MyBatis-Plus--自动填充功能 1.什么是自动填充 有些表中会有更新时间up ...
- MyBatisPlus自动填充
MyBatisPlus自动填充 项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等. 我们可以使用MyBatis Plus的自动填充功能,完成这些字段的赋值工作; (1 ...
- mybatis-plus自动填充(创建时间\修改时间)
编辑pojo中公共的basePojo类(继承关系) package com.jt.pojo;import com.baomidou.mybatisplus.annotation.FieldFill; ...
- MyBatis-Plus自动填充字段(创建时间、修改时间、uuid等)
字段填充器 配置需要自动填充的字段,字段名采用驼峰命名规则 @Component public class MpMetaObjectHandler implements MetaObjectHandl ...
- Mybatis-Plus自动填充的实现示例
在常用业务中有些属性需要配置一些默认值,MyBatis-Plus提供了实现此功能的插件.在这里修改user表添加 create_time 字段和 update_time 字段,在User类中添加对应属 ...
- 尚医通——后台搭建——MybatisPlus自动填充和乐观锁
目录标题 自动填充和乐观锁 1.更新操作 2.自动填充 1.1数据库修改 1.2实体类修改 1.3实现元对象处理器接口 3.乐观锁 3.1场景 4.乐观锁实现流程 4.1修改实体类 4.2创建配置文件 ...
- android studio 安卓新建类如何自动填充作者、时间、备注等信息
之前有实习生问我:你新建的类,怎么自动填充你姓名.联系方式.创建时间.作用这些的? 下面几步记录一下,给需要的朋友: 设置里面,file-->setting-->Editor-->f ...
- Mybatis-plus自动填充功能因版本(3.0.5/3.4.2)不同导致的问题:metaObject.setValue()和this.setFieldValByName() 方法的关系
首先查看两个版本this.setFieldValByName(MetaObjectHandler类中的方法)的源码 Mybatis-plus(3.0.5): public interface Meta ...
最新文章
- 《Redis入门指南(第2版)》一第2章 准备
- js中replace的用法
- 通用的MIME类型:application/octet-stream
- Python 输出HTML实体字符(#x***转html,html符号乱码,中文乱码)
- 话说模式匹配(1) 什么是模式?
- PHP设计模式——职责链模式
- 【Python】django安装
- 网吧如何控制远程服务器,怎样在网吧控制一台远程的电脑
- 我的世界服务器怎么改无限力量,我的世界无限力量效果指令,我的世界怎么用命令方块做无限的效果...
- 34、CSS高频前端面试题之CSS基础
- 积分第一中值定理与伏汝兰尼(Froullani)积分
- html密码域的type属性,查看网页黑点密码 将type=password中password修改成为text
- Matlab实现图像阈值分割
- 【无标题】Hadoop HA文件参数配置和HA启动
- 怎么从微信群聊中引流?如何从群聊进行引流?微信群怎么引流
- c语言镶嵌循环,讲解C++的do while循环和循环语句的嵌套使用方法
- ThinkPad E420升级改造过程
- python网络编程 赵宏_2018年Python爱好者社区历史文章合集(作者篇)
- 现在学校应用较多的计算机学籍管理系统,计算机基础知识选择题500个
- java怎么打印星期,在任何日期打印出星期几
热门文章
- 飞机大战Python全代码 + 图片
- 5.Apache Kylin 构建 第一步报错 Container complete event for unknown container
- 十进制数与其他进制数转换方法及原理
- Win10共享打印机所需要的设置(无需密码访问实现打印机共享)
- java课程设计-音乐播放器,基于java的音乐播放器设计.doc
- python默认安装目录在哪_怎么查看python的安装目录
- Cisco Packet Tracer交换机间相同VLAN通信
- 精致又小巧的3款黑科技软件,一旦使用,难以割舍
- Windows10操作系统共享文件夹给VMWare虚拟机Ubuntu18.04操作系统使用
- 微服务A读配置中心报Could not locate PropertySource错误