mybatisPlus-自动填充

实体类
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import java.util.Date; import static com.baomidou.mybatisplus.annotation.FieldFill.*; @Data public class User { @TableId(type = IdType.AUTO)//自增 private Long id; private String name; private int age; private String email; @TableField(fill = INSERT)//插入时自动填充 private Date create_time; @TableField(fill = INSERT_UPDATE)//插入和更新时填充 private Date update_time; }
MyMetaObjectHandler
package com.atguigu.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; @Component public class MyMetaObjectHandler implements MetaObjectHandler { //mybatisPlus执行添加操作,执行次方法 @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("create_time",new Date(),metaObject); this.setFieldValByName("update_time",new Date(),metaObject); } //mybatisPlus执行更新操作,执行次方法 @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("update_time",new Date(),metaObject); } }
测试代码
@Test public void addUser(){ User user = new User(); user.setName("zhangsan"); user.setAge(35); user.setEmail("123345@qq.com"); int insert = userMapper.insert(user); System.out.println(insert); }
@Test public void updateUserById(){ User user = new User(); user.setId(6L); user.setName("lucy"); user.setAge(30); int i = userMapper.updateById(user); System.out.println(i); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律