MybatisPlus insert怎么使用数据库now()

这篇文章主要介绍“MybatisPlus insert怎么使用数据库now()”,在日常操作中,相信很多人在MybatisPlus insert怎么使用数据库now()问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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 + COMMA;
            } 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中可以是任何数据库函数或者语句

到此,关于“MybatisPlus insert怎么使用数据库now()”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!