版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
metaObject) { boolean createDate = metaObject.hasSetter("createDate"); boolean updateDate = metaObject.hasSetter("updateDate"); if (createDate || updateDate) { Date now = this.setFieldValByName("createUser", username, metaObject); } if (metaObject.hasSetter } @Override public void updateFill(MetaObject metaObject) { if (metaObject.hasSetter ("updateDate")) { this.setFieldValByName("updateDate", new Date(), metaObject); }
implements MetaObjectHandler { /** * 插入时的填充策略 */ @Override public void insertFill(MetaObject metaObject) { // 创建和修改时间自动填充当前时间 this.strictInsertFill(metaObject, "createdTime", LocalDateTime.class , LocalDateTime.now()); this.strictInsertFill(metaObject, "updatedTime", LocalDateTime.class, LocalDateTime.now()); } /** * 更新时的填充策略 */ @Override public void updateFill(MetaObject metaObject) { // 修改时间自动填充当前时间 this.strictUpdateFill(metaObject, "updatedTime", LocalDateTime.class
metaObject) { if (getFieldValByName("createTime", metaObject) == null) { this.strictInsertFill ("createUser", metaObject) == null) { this.strictInsertFill(metaObject, "createUser", String.class , "system"); } } @Override public void updateFill(MetaObject metaObject) { if (getFieldValByName("updateTime", metaObject) == null) { this.strictUpdateFill(metaObject 元对象 */ @Override public void insertFill(MetaObject metaObject) { // 插入对象必须Object
metaObject) { log.info("公共字段填充......"); log.info(metaObject.toString()); metaObject.setValue metaObject.setValue("updateUser", 1); metaObject.setValue("createUser", 1); } @Override public void updateFill(MetaObject metaObject) { log.info("公共字段填充......"); log.info(metaObject.toString()); metaObject.setValue("updateTime",LocalDateTime.now()); metaObject) { log.info("公共字段填充......"); log.info(metaObject.toString()); metaObject.setValue
*/ @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill ...."); //获取到需要被填充的字段的值 Object fieldValue=getFieldValByName("name",metaObject); void updateFill(MetaObject metaObject) { log.info("start update fill ...."); Object metaObject) { log.info("start insert fill ...."); this.strictInsertFill(metaObject, metaObject) { log.info("start update fill ...."); this.strictUpdateFill(metaObject,
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject metaObject) { // 使用 setFieldValByName 方法为字段赋值 this.setFieldValByName("createTime", new Date(), metaObject); this.setFieldValByName("updateTime", new Date(), metaObject); } @Override public void updateFill(MetaObject metaObject) { // 使用 setFieldValByName 方法为字段赋值 this.setFieldValByName("updateTime", new Date(), metaObject); } } 重写了 insertFill 和 updateFill
()->superClass()); //加载当前控件的属性 d_ptr->addClassProperties(d_ptr->m_object->metaObject()); metaObject) { return; } QtProperty *classProperty = m_classToProperty.value(metaObject ] = classProperty; m_propertyToClass[classProperty] = metaObject; for (int idx = metaObject << "geometry"; QtProperty *classProperty = m_classToProperty.value(metaObject); if (! ] = classProperty; m_propertyToClass[classProperty] = metaObject; for (int idx = metaObject
class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { metaObject.setValue("createTime", LocalDateTime.now()); metaObject.setValue ("updateTime",LocalDateTime.now()); } @Override public void updateFill(MetaObject metaObject ) { metaObject.setValue("updateTime",LocalDateTime.now()); } } 最后将要自动填充的字段加上注解,并且注意一下属性类型
metaObject) { this.setFieldValByName("creatDate",new Date(), metaObject); this.setFieldValByName ("lastUpDate", new Date(), metaObject); } @Override public void updateFill(MetaObject metaObject metaObject) { this.setFieldValByName("creatDate",LocalDateTime.now(), metaObject); this.setFieldValByName ("lastUpDate", LocalDateTime.now(), metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("lastUpDate", LocalDateTime.now(), metaObject); } }
metaObject) { log.info("公共字段自动填充[insert]...."); log.info(metaObject.toString()); metaObject.setValue("createTime", LocalDateTime.now()); metaObject.setValue("updateTime", LocalDateTime.now ()); metaObject.setValue("createUser",BaseContext.getCurrentId()); metaObject.setValue metaObject) { log.info("公共字段自动填充[insert]"); log.info(metaObject.toString()); metaObject.setValue("updateTime", LocalDateTime.now()); metaObject.setValue("updateUser",BaseContext.getCurrentId
public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert field...."); this.setFieldValByName("createTime ", LocalDateTime.now(),metaObject); this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName ("updateTime", LocalDateTime.now(),metaObject); } }
class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill ...."); this.strictInsertFill(metaObject, createDate", LocalDateTime.class, LocalDateTime.now()); } @Override public void updateFill(MetaObject metaObject) { log.info("start update fill ...."); this.strictUpdateFill(metaObject,
metaObject) { // 声明自动填充字段的逻辑。 String userId = AuthHolder.getCurrentUserId(); this.strictInsertFill(metaObject,"creator",String.class , userId); this.strictInsertFill(metaObject,"createTime", LocalDateTime.class,LocalDateTime.now ()); } @Override public void updateFill(MetaObject metaObject) { // 声明自动填充字段的逻辑。 ,userId); this.strictUpdateFill(metaObject,"updateTime", LocalDateTime.class,LocalDateTime.now
*/ @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName ("createTime", new Date(), metaObject); } /** * 更新填充 * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime ("createTime", new Date(), metaObject); this.setFieldValByName("version", 1, metaObject); metaObject) { this.setFieldValByName("updateTime", new Date(), metaObject); } } 步骤四:修改
metaObject) { this.setFieldValByName("createTime",new Date(),metaObject);//metaObject元数据 public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime",new Date(),metaObject);//metaObject元数据 } } 添加一条数据: //添加操作 @Test public void add(){ metaObject) { this.setFieldValByName("createTime",new Date(),metaObject);//metaObject元数据 ("version", 1, metaObject); } //更新填充 @Override public void updateFill(MetaObject metaObject
metaObject) { this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject, "updateTime", Date.class metaObject) { this.fillStrategy(metaObject, "createTime", new Date()); this.fillStrategy (metaObject, "updateTime", new Date()); } @Override public void updateFill(MetaObject metaObject ) { this.fillStrategy(metaObject, "updateTime", new Date()); } } 在一些比较旧的版本,为填充字段设置值的API如下
newMetaObject(Object object) { return MetaObject.forObject(object, objectFactory, objectWrapperFactory , reflectorFactory); }}//MetaObject类public class MetaObject { private Object originalObject; (object, objectFactory, objectWrapperFactory, reflectorFactory); } } private MetaObject 时,客户端只需要调用Configuration的newMetaObject(Object object)方法,并传递一个Object参数,就可以获取对应的MetaObject。 至于具体的产生什么样的MetaObject,则有MetaObject的类的forObject(object, objectFactory, objectWrapperFactory, reflectorFactory
元对象 */ @Override public void insertFill(MetaObject metaObject) { // 不止一种写法 this.strictInsertFill(findTableInfo(metaObject), metaObject } /** * 更新元对象字段填充(用于更新时对公共字段的填充) * * @param metaObject 元对象 */ @Override public void updateFill(MetaObject metaObject) LocalDateTime.now()进gmtModified对应字段,这里是一行写法,中间参数可缩写为LocalDateTime::now this.strictUpdateFill(metaObject
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject implements MetaObjectHandler { /** * mp添加操作时执行 * 插入元对象字段填充(用于插入时对公共字段的填充) * @param metaObject 元对象 */ @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName ("version",1,metaObject); } /** * mp修改操作时执行 * 更新元对象字段填充(用于更新时对公共字段的填充) * * @param metaObject 元对象 */ @Override public void updateFill(MetaObject metaObject) {