mysql自動填充時間的兩種實現(xiàn)方式小結(jié)
mysql自動填充時間的兩種方式
mysql建表的時候有兩個列,一個是createtime、另一個是updatetime
- 當(dāng)插入一條數(shù)據(jù),createtime列和updatetime列由數(shù)據(jù)庫獲取當(dāng)前時間自動創(chuàng)建時間
- 當(dāng)修改一條記錄時,updatetime列由數(shù)據(jù)庫獲取按當(dāng)前時間自動更新時間
方法一:數(shù)據(jù)庫級別
(工作中不允許你修改數(shù)據(jù)庫),一般我們采用方法二
1.在表中新增字段 create_time, update_time,記得同步實體類
2.設(shè)置createtime、updatetime的默認(rèn)值為CURRENT_TIMESTAMP
3.設(shè)置updatetime列屬性ON UPDATE CURRENT_TIMESTAMP
方式二:代碼級別
(使用mybatis_plus
自動填充策略實現(xiàn))
1、刪除數(shù)據(jù)庫的默認(rèn)值、更新操作!
2、實體類字段屬性上需要增加注解
// 字段添加填充內(nèi)容 @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime;
3、編寫處理器來處理這個注解即可!即配置填充策略
import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; @Slf4j @Component // 一定不要忘記把處理器加到IOC容器中! public class MyMetaObjectHandler implements MetaObjectHandler { // 插入時的填充策略 @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill....."); // setFieldValByName(String fieldName, Object fieldVal,MetaObjectmetaObject // 最新的MP可以采用這個方法:this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); } // 更新時的填充策略 @Override public void updateFill(MetaObject metaObject) { log.info("start update fill....."); this.setFieldValByName("updateTime",new Date(),metaObject); } }
4、測試插入
5、測試更新、觀察時間即可!
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
用Eclipse連接MySQL數(shù)據(jù)庫的步驟
這篇文章主要介紹了如何用Eclipse連接MySQL數(shù)據(jù)庫,需要的朋友可以參考下2015-08-08MySQL使用Replace操作時造成數(shù)據(jù)丟失的問題解決
這篇文章主要給大家介紹了關(guān)于MySQL使用Replace操作時造成數(shù)據(jù)丟失問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09對MySQL配置參數(shù) my.ini/my.cnf的詳細(xì)解析
今天我們今天主要向大家描述的是MySQL配置參數(shù) my.ini/my.cnf,以下的文章就是對其實際操作的具體內(nèi)容的詳細(xì)解析2010-08-08mysql正則表達式(regexp和rlike)的搜索功能實例分析
這篇文章主要介紹了mysql正則表達式(regexp和rlike)的搜索功能,結(jié)合實例形式分析了mysql正則表達式使用regexp和rlike的搜索功能相關(guān)原理與實現(xiàn)技巧,需要的朋友可以參考下2019-12-12