搜索
首页
笔记
案例
关于
课程列表
MyBatis-Plus
CURD
自动填充
条件构造器
ActiveRecord
代码生成器
插件
逻辑删除
课程导航
计算机基础知识
C
Linux
linux常用软件
计算机网络
程序员修养
设计模式
工具
Git
composer
vim
IntelliJ IDEA
wireshark
laravel
Spring
SpringMVC
Maven
数据库
MySQL
Redis
MongoDB
JDBC
Mybatis
MyBatis-Plus
服务端编程
PHP
Java
shell script
JavaWeb
HTML / CSS
HTML
CSS
HTML5
CSS3
BOOTSTRAP
JavaScript
JavaScript
JQuery
layui
CURD
条件构造器
自动填充
项目中,经常会用到自动填充的功能。比如在用户注册的时候,除了会保存用户的信息字段外,还会插入add_time及login_ip字段,在用户登陆的时,修改用户的login_time及login_ip字段。 ## 添加字段 给t_employee添加几个字段。 ```sql ALTER TABLE `t_employee` ADD COLUMN `add_time` bigint(20) NOT NULL AFTER `email`, ADD COLUMN `update_time` bigint(20) NOT NULL AFTER `add_time`; ``` ## 修改实体类 ```java @Data @AllArgsConstructor @NoArgsConstructor @ToString public class Employee { @TableId private Integer empId; private Integer age; private String empName; private String email; private Integer sex; @TableField(fill = FieldFill.INSERT) private Long addTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateTime; } ``` ## 实现元对象处理器接口 ```java @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { setFieldValByName("addTime", System.currentTimeMillis(), metaObject); setFieldValByName("updateTime", System.currentTimeMillis(), metaObject); } @Override public void updateFill(MetaObject metaObject) { setFieldValByName("updateTime", System.currentTimeMillis(), metaObject); } } ``` ## 测试 ```java @Test void test3 () { Employee employee = new Employee(); employee.setEmpName("韦德"); employee.setAge(3); employeeMapper.insert(employee); //==> Preparing: INSERT INTO t_employee ( age, emp_name, add_time, update_time ) VALUES ( ?, ?, ?, ? ) //==> Parameters: 3(Integer), 韦德(String), 1623591756606(Long), 1623591756606(Long) employee.setEmpName("德怀恩韦德"); employee.setAge(39); employeeMapper.updateById(employee); //==> Preparing: UPDATE t_employee SET age=?, emp_name=?, add_time=?, update_time=? WHERE emp_id=? //==> Parameters: 39(Integer), 德怀恩韦德(String), 1623591756606(Long), 1623591757380(Long), 10(Integer) } ```
CURD
条件构造器
文章目录