MybatisPlus insert使用數據庫now()

操作步驟

  1. 自建com.baomidou.mybatisplus.core.metadata.TableFieldInfo類,注意包名不可變
  2. 修改getInsertSqlPropertyMaybeIf方法,複用com.baomidou.mybatisplus.annotation.TableField註解的update參數
修改方法
public String getInsertSqlPropertyMaybeIf(final String prefix) {
        final String newPrefix = prefix == null ? EMPTY : prefix;
        String sqlScript = getInsertSqlProperty(newPrefix);
        if (withInsertFill) {
            //modify begin
            if (StringUtils.isNotBlank(update)) {
                return update;
            } else {
                return sqlScript;
            }
            //modify end
        }
        return convertIf(sqlScript, newPrefix + property, insertStrategy);
    }
實體類
public class BasePo {
    /**
     * 創建時間
     */
    @TableField(fill = FieldFill.INSERT, update = "now(3)")
    private Date createTime;

    /**
     * 最後更新時間
     */
    @TableField(fill = FieldFill.INSERT_UPDATE, update = "now(3)")
    private Date updateTime;
}
  1. 如果沒有生效,可能需要注意類的加載順序
  2. update中可以是任何數據庫函數或者語句
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章