前言
在前面已经介绍了MyBatis-plus
的一些知识,大家有兴趣的话,可参考以下文章
SpringBoot(40) — SpringBoot整合MyBatis-plus
SpringBoot(41) — MyBatis-plus常用查询
SpringBoot(42) — MyBatis-plus查询数据表中一列数据的部分字段
SpringBoot(43) — MyBatis-plus一些特殊查询
SpringBoot(44) — MyBatis-plus自定义sql查询
SpringBoot(45) — MyBatis-plus分页查询
SpringBoot(46) — MyBatis-plus更新数据
SpringBoot(47) — MyBatis-plus删除数据
SpringBoot(48) — MyBatis-plus基本配置
SpringBoot(49) — MyBatis-plus通用service
SpringBoot(50) — MyBatis-plus实现逻辑删除
今天要讲的是MyBatis-plus
自动填充。
- 自动填充简介
- 自动填充的实现
2.1 数据表中添加字段
2.2 表映射实体添加相应字段
2.3 编写数据表操作mapper类
2.4 实现自动填充类 - 自动填充的优化
- 自动填充测试
- 自动填充注意的问题
一. 自动填充简介
在Springboot
的开发中,我们操作数据库的时候,有时会遇到这种情况:给数据表中添加创建时间
,创建人
,修改时间
,修改人
等比较固定的数据。以创建时间
为例,一般填入的数据为当前时间,我们一般的操作是在填入数据时给数据设置个时间,然后加入数据库,这样处理的弊端是,每次在添加一条数据之前,都要给要添加的数据设置一行类似这样的代码:setCreateTime(LocalDateTime.now())
,这样操作十分繁琐,还容易添加数据时漏掉这个时间的设置。当然,时间默认值我们也可以在数据表中设置默认值,但是若涉及到创建人
变更的情况,在数据库中设置默认值又不能满足实际情况,如果把变动的创建人
数据通过sql
语句和变量的方式传入,照样显得麻烦。那么这时候,我们的MyBatis-plus
自动填充 功能便可解决这个头疼的问题。
下面我们就来具体的讲解下吧。
二. 自动填充的实现
2.1 数据表中添加字段
下面以自动填充创建时间
和修改时间
为例。先在数据表test_pro.demo
表中新增两个字段:createTime
和updateTime
。test_pro.demo
表展示如下:
2.2 表映射实体添加相应字段
这里与test_pro.demo
表映射的实体类Student
代码如下: