mybatis-plus全局配置时间格式化
时间: 2023-09-12 13:03:42 浏览: 1150
Mybatis Plus代码生成器(时间管理大师)
在 MyBatis-Plus 中,可以通过自定义全局配置的方式来进行时间格式化。具体步骤如下:
1.创建一个类,并实现 `MetaObjectHandler` 接口。
```java
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
// 插入时自动填充 createTime 和 updateTime 字段的值
this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
// 更新时自动更新 updateTime 字段的值
this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
}
}
```
2.在 `application.yml` 文件中配置 MyBatis-Plus 的全局配置。
```yaml
mybatis-plus:
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
id-type: auto
meta-object-handler: com.example.MyMetaObjectHandler
sql-injector: com.baomidou.mybatisplus.core.injector.LogicSqlInjector
# 时间字段格式化
date-format: yyyy-MM-dd HH:mm:ss
```
在配置文件中,通过 `date-format` 属性来设置时间字段的格式化方式。这里以 yyyy-MM-dd HH:mm:ss 为例。
3.在实体类中,对需要格式化的时间字段进行注解。
```java
@Data
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private LocalDateTime createTime;
private LocalDateTime updateTime;
// 注解时间字段,告诉 MyBatis-Plus 要进行格式化
@TableField(fill = FieldFill.INSERT)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
// 注解时间字段,告诉 MyBatis-Plus 要进行格式化
@TableField(fill = FieldFill.UPDATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}
```
在实体类中,通过 `@TableField` 注解来告诉 MyBatis-Plus 要对该字段进行格式化,同时,也可以使用 `@JsonFormat` 注解来指定时间格式化的方式。
以上就是 MyBatis-Plus 全局配置时间格式化的步骤。
阅读全文