云迈博客

您现在的位置是:首页 > 灌水专栏 > 正文

灌水专栏

java系列化方式以及mybatisplus自动填充

caoxu2022-06-29灌水专栏187
```JAVA/***时间序列化BaseBizEnum接口*/publicstaticclassDateTimeSerializableextendsJson
   /**
     * 时间序列化 BaseBizEnum 接口
     */
    public  static class  DateTimeSerializable extends JsonSerializer<Date> {
        @Override
        public void serialize(Date date, JsonGenerator generator, SerializerProvider serializerProvider) throws IOException {
            generator.writeString(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,date));

        }
    }

   public  static class  DateDeserializer extends JsonDeserializer<Date> {
        @Override
        public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
            String valueAsString = jsonParser.getValueAsString();
            return DateUtils.parseDate(valueAsString);
        }
    }

 //序列化方式同属性按照顺序从上往下走,默认为YYYY_MM_DD_HH_MM_SS格式,无需操作
 //前端传入之后会自行序列化操作
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject) {
        this.strictInsertFill(metaObject,"createTime", Date::new, Date.class);

        try {
            this.strictInsertFill(metaObject,"createBy",String.class,String.valueOf(SecurityUtils.getUserId()));
        } catch (Exception e) {
            log.error("insert 自动填充异常",e);
        }
    }
}

//createTime,createBy,updateTime,updateBy无需在程序中设置,已通过mp自动填充,如有需要,可在此
//类中自行添加策略

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~