mybatisplus如何判断字段类型自动填充
时间: 2023-10-27 20:03:19 浏览: 162
MybatisPlus常用字段默认值自动填充.docx
MybatisPlus可以通过自动填充功能来实现一些系统级别的字段填充,比如创建时间、更新时间、创建人、更新人等。判断字段类型的方式可以通过定义实现`MetaObjectHandler`接口的类来实现,该类可以通过重写`insertFill`和`updateFill`方法来实现对应操作时的字段填充。
在`insertFill`和`updateFill`方法中,可以通过`metaObject`对象来获取实体对象的信息,包括实体对象的属性名称和值。通过判断属性的类型,可以自动填充相应的字段。
示例代码如下:
```java
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
// 判断是否存在createTime属性,如果存在则填充时间
if (metaObject.hasSetter("createTime")) {
this.strictInsertFill(metaObject, "createTime", LocalDateTime::now, LocalDateTime.class);
}
}
@Override
public void updateFill(MetaObject metaObject) {
// 判断是否存在updateTime属性,如果存在则填充时间
if (metaObject.hasSetter("updateTime")) {
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class);
}
}
}
```
在上述代码中,通过判断实体对象是否存在`createTime`和`updateTime`属性,来判断是否需要填充时间。如果存在,则调用`strictInsertFill`和`strictUpdateFill`方法来填充对应的时间值。需要注意的是,`strictInsertFill`和`strictUpdateFill`方法中的第三个参数是一个`Supplier`类型的函数,用于提供填充值,可以根据实际需求来自定义填充函数。
阅读全文