您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關利用Mybatisplus如何實現一個自動填充功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、方式一
數據庫級別(注意:不建議此方式,因為工作中不允許你修改數據庫)
步驟
在表中新增字段create_time, update_time,給字段賦予默認值,在需要更新的字段(update_time)選擇更新
在實體類增加對應屬性
2、方式二
代碼級別,建議使用
步驟
在實體類需要自動填充的屬性上加注解
package com.yl.bean; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Date; /** * 用戶實體類 */ @Data @NoArgsConstructor public class User implements Serializable { @TableId(type=IdType.AUTO) private Integer id; private String name; private Integer age; private String email; @TableField(fill = FieldFill.INSERT )//插入數據時更新該字段 private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE)//插入和修改時更新該字段 private Date updateTime; }
注意:數據庫要有對應字段,不會自動給你生成字段
編寫處理器來處理自動填充注解
package com.yl.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; /** * 自動填充處理器實現類 */ @Slf4j//配置日志輸出,也可以不配置 @Component public class MyMetaObjectHandler implements MetaObjectHandler { /** * 插入元對象字段填充(用于插入時對公共字段的填充) * * @param metaObject 元對象 */ @Override public void insertFill(MetaObject metaObject) { //日志輸出 log.info("start insert fill....."); //字段填充 this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); } /** * 更新元對象字段填充(用于更新時對公共字段的填充) * * @param metaObject 元對象 */ @Override public void updateFill(MetaObject metaObject) { //日志輸出 log.info("start update fill....."); //字段填充 this.setFieldValByName("updateTime",new Date(),metaObject); } }
上述就是小編為大家分享的利用Mybatisplus如何實現一個自動填充功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。