EntityMetaObjectHandler 实现
MetaObjectHandler接口.
重写两个方法就可以在新增的时候自动填充创建时间和更新时间
@Override public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createTime", createTime, metaObject);
}
@Override public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", new Date(), metaObject);
}
,如果是导入数据,创建时间可能就不是当前时间,需要自己赋值创建时间,则修改代码
@Override public void insertFill(MetaObject metaObject) {
//如果创建时间不为空,按照给出的创建时间进行保存.如果为空,则创建时间为当前时间 Object createTime = null; try { Object originalObject = metaObject.getOriginalObject(); Class<?> aClass = originalObject.getClass(); Class<?> superclass = aClass.getSuperclass(); Field createTimeField = superclass.getDeclaredField("createTime"); createTimeField.setAccessible(true); createTime = createTimeField.get(originalObject); } catch (Exception e) { createTime = null; } if (ObjectUtil.isNull(createTime)) { createTime = new Date(); } this.setFieldValByName("createTime", createTime, metaObject);
}
记得实体类加注解,ok 完工