个人网站怎么做微信支付,群晖 wordpress 根目录,奉贤做网站建设,永久免费自助网站mybatisplus实现自动填充功能——自动填充时间
数据库表中的字段
创建时间 (createTime)更新时间 (updateTime)
每次 增删改查的时候#xff0c;需要通过对Entity的字段#xff08;createTime#xff0c;updateTime#xff09;进行set设置#xff0c;但是#xff0c;每…mybatisplus实现自动填充功能——自动填充时间
数据库表中的字段
创建时间 (createTime)更新时间 (updateTime)
每次 增删改查的时候需要通过对Entity的字段createTimeupdateTime进行set设置但是每次增删改 都要set设置比较麻烦。
使用自动填充功能就不用我们自己set了。
1、在实体类Entity中 添加注解
TableField(fill FieldFill.INSERT) //插入时自动填充TableField(fill FieldFill.INSERT_UPDATE) // 插入 和 更新时 自动填充 2、配置自动填充 拦截器
3、数据库表中 创建时间更新时间创建人更新人 字段名。
4、自动填充 拦截器 MyMetaObjectHandler
package com.sangeng.handler.mybatisplus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.sangeng.utils.SecurityUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;
Component
public class MyMetaObjectHandler implements MetaObjectHandler {//实现MetaObjectHandler//配置自动填充 拦截器//insert操作时填充方法Overridepublic void insertFill(MetaObject metaObject) {Long userId null;
// try {userId SecurityUtils.getUserId(); //从token中拿到userid,自动填充
// } catch (Exception e) { e.printStackTrace();
// 注册的时候不能获取当前userid所以userid设置为-1
// userId -1L;//表示是自己创建
// }this.setFieldValByName(createTime, new Date(), metaObject); //创建时间this.setFieldValByName(createBy,userId , metaObject); //创建人this.setFieldValByName(updateTime, new Date(), metaObject); //更新时间this.setFieldValByName(updateBy, userId, metaObject); //更新人}//update操作时填充方法Overridepublic void updateFill(MetaObject metaObject) { //填充 更新时间this.setFieldValByName(updateTime, new Date(), metaObject);
// this.setFieldValByName( , SecurityUtils.getUserId(), metaObject);}
}实体类 TableField(fill FieldFill.INSERT) //插入时 自动添加创建人private Long createBy;TableField(fill FieldFill.INSERT) //插入时 自动添加 创建时间private Date createTime;TableField(fill FieldFill.INSERT_UPDATE) //插入更新时 自动添加 更新人private Long updateBy;TableField(fill FieldFill.INSERT_UPDATE) //插入更新时 自动添加 更新时间private Date updateTime;