mybatisPlus自动填充
项目中数据库记录都是会记录创建时间,更新时间等。我们可以自己在插入时设置值,但是每次insert,update都要在代码中设置,比较麻烦。
这里使用mybatisPlus的自动填充。
表字段:
代码:
在@TableField(fill = FieldFill.INSERT),FieldFill指定新增还是更新时自动填充。
实现MetaObjectHandler 接口,填充你需要填充的字段值。
@Slf4j @Component public class MybatisPlusAutoFillHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("insert fill---------"); this.strictInsertFill(metaObject, "createAt", LocalDateTime::now, LocalDateTime.class); this.strictInsertFill(metaObject, "updateAt", LocalDateTime::now, LocalDateTime.class); } @Override public void updateFill(MetaObject metaObject) { log.info("update fill---------"); this.strictUpdateFill(metaObject, "updateAt", LocalDateTime::now, LocalDateTime.class); } }
测试:
新增一条数据,只填入username、password字段,查看数据库记录,前面是没有自动填充的记录,id=5是自动填充的记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)