MybatisPlus自动填充字段详解
版权申诉
103 浏览量
更新于2024-08-07
收藏 62KB DOCX 举报
"MybatisPlus常用字段默认值自动填充文档主要介绍了如何在使用MybatisPlus时,自动填充字段如创建时间和更新时间,并提供了自定义填充默认数值的方法。"
在MybatisPlus框架中,为了实现字段的自动填充,比如在插入数据时自动设置`createTime`和`updateTime`为当前时间,以及在更新数据时更新`updateTime`,我们可以遵循以下步骤:
1. 首先,确保在数据库表中存在对应的日期类型字段,例如`create_time`和`update_time`。
2. 在实体类中,我们需要使用`@TableField`注解来标识哪些字段需要进行自动填充。`@TableField(fill=FieldFill.INSERT)`用于在插入时填充,`@TableField(fill=FieldFill.INSERT_UPDATE)`则会在插入和更新时都填充。例如:
```java
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
```
3. `FieldFill`枚举提供了不同的填充策略,默认是`DEFAULT`表示不做处理,`INSERT`表示插入时填充,`UPDATE`表示更新时填充,`INSERT_UPDATE`表示插入和更新都会填充。
4. 如果想要自定义填充默认值,可以创建一个继承自`MetaObjectHandler`的类,然后重写`insertFill`和`updateFill`方法。在这些方法中,你可以通过`MetaObject`对象获取字段并设置默认值。例如:
```java
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createTime", Date.class, new Date());
this.strictInsertFill(metaObject, "updateTime", Date.class, new Date());
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date());
}
}
```
在SpringBoot应用中,记得将`MyMetaObjectHandler`通过`@Component`或`@Bean`注解声明,以便自动注入到MybatisPlus的配置中。
5. 在`strictInsertFill`和`strictUpdateFill`方法的第二个参数中,我们传入的是实体类的属性名(如"createTime"),而不是数据库的字段名。
通过以上步骤,MybatisPlus将在执行插入和更新操作时自动处理指定字段的默认值,避免了手动设置这些值的繁琐工作。这提高了代码的可读性和维护性,同时确保了数据的一致性和准确性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-09-07 上传
2022-12-18 上传
2020-04-10 上传
2022-09-29 上传
2021-09-27 上传
2024-07-04 上传
小兔子平安
- 粉丝: 254
- 资源: 1940
最新资源
- 网上书店可行性分析与需求分析
- C语言编程规范.pdf
- SQL server服务器大内存配置
- 世界上最全的oracle笔记 oracle 资料
- Programming C#
- MIT Linear Programming Courseware- example
- 一份在线考试系统的详细开发文档C#
- 在线考试系统需求说明
- 企业网站推广经合与体会
- convex optimization
- 芯源电子单片机教程(推荐).pdf
- c语言学习300例(实例程序有源码)
- thinking in java
- How to create your library
- Microsoft Windows CE学习资料
- _CC2001教程_研究与思考.pdf