질문
Mybatis-Plus를 사용하여 데이터를 추가할 때 자동으로 시간을 입력하면 코드는 다음과 같습니다.
@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());
}
}
그 결과 쿼리된 데이터는 다음과 같으며, 시간 관련 필드에 포맷팅 문제가 있는 것을 확인할 수 있습니다.
해결책
해당 엔터티 클래스의 시간 필드에 다음 주석을 추가합니다.
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
다시 쿼리해 보면 다음과 같은 결과가 나오며, 시간 형식이 적용된 것을 확인할 수 있습니다.