MybatisPlus 自动填充

夙愿已清 提交于 2020-05-03 19:36:05

自动填充

1.在java实体文件属性中增加自动填充的时机

file:自动填充的时机

/** * 默认不处理 / DEFAULT, /* * 插入填充字段 / INSERT, /* * 更新填充字段 / UPDATE, /* * 插入和更新填充字段 */ INSERT_UPDATE

  //创建时间
    @TableField(fill=FieldFill.INSERT)
    private LocalDateTime createTime;
   
    
    //更新时间
    @TableField(fill=FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    

配置自动填充处理器


import java.time.LocalDateTime;

import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

	/**
	 * 创建时自动填充
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param metaObject         
	 * @throws
	 */
	@Override
	public void insertFill(MetaObject metaObject) {
		System.out.println("insert 自动填充");
		//如果实体中有创建时间属性才会进行自动填充
		boolean b=metaObject.hasSetter("createTime");
		if(b){
			
		//createTime 为Java实体对象属性
		setInsertFieldValByName("createTime", LocalDateTime.now(), metaObject);
		setInsertFieldValByName("updateTime", LocalDateTime.now(), metaObject);
		}

	}

	/**
	 * 更新时自动填充
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param metaObject         
	 * @throws
	 */
	@Override
	public void updateFill(MetaObject metaObject) {
		System.out.println("update 自动填充");
		setUpdateFieldValByName("updateTime", LocalDateTime.now(), metaObject);
	}

	
}


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!