@TableField(value="crt_code",fill =FieldFill.INSERT): 该注解主要是Mybatis 插入默认值 value值为数据库表中的字段,file是用来指定策略的,可以新增时插入,也可以修改时插入 @Excel(name = "创建人编码", width = 15) // 用于 Excel 导入导出(此处不做交多阐述) @JsonFormat(timezone = "GMT+8", pa...
INSERT:插入时自动填充字段 UPDATE:更新时自动填充字段 INSERT_UPDATE:插入和更新时自动填充字段 二、自定义填充默认数值 编写公共字段填充处理器类,该类继承了MetaObjectHandler类,重写 insertFill和updateFill方法,我们在这两个方法中获取需要填充的字段以及默认填充的值。 填充处理器MyMetaObjectHandler在Spring Boot中需要...
创建 插入修改默认值设置方法 @ComponentpublicclassMetaObjectHandlerConfigimplementsMetaObjectHandler{@OverridepublicvoidinsertFill(MetaObject metaObject) {DatecurrentDate =newDate();//默认未删除setFieldValByName("isDeleted",Constant.DATA_NOT_DELETED,metaObject);//创建时间默认当前时间setFieldValByName("createTime...
我们知道,MybatisPlus可以给一些字段设置默认值,比如创建时间,更新时间,分为插入时设置,和更新时设置。 常见的例子: /** * 创建时间 */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") @TableField(value = "create_time", fill = FieldFill.INSERT) private Timestamp c...
简介:Mybatis-plus插入数据遇到主键没有默认值的问题 新增数据时报 java.sql.SQLException: Field 'id' doesn't have a default value mybatis-plus的insert方法,在底层会默认生成一个Long类型的UUID,这就导致跟数据库里面类型不一致,把数据库默认自增的主键给禁了 ...
Mybatis Plus公共字段自动填充,也就是在插入或者更新的时候如果发现某些字段为空,则为其赋予指定的默认值。 【1】几个概念 ① FieldFill枚举类 public enum FieldFill {DEFAULT(0, "默认不处理"),INSERT(1, "插入填充字段"),UPDATE(2, "更新填充字段"),INSERT_UPDATE(3, "插入和更新填充字段");/*** 主...
1、概述 MyBatis-Plus中提供了一个saveOrUpdate()方法,默认情况下可以根据主键是否存在进行更新或插入...
作为CRUD程序员,大部分Java开发者应该都在用Mybatis Plus来操作数据库。但是BaseMapper默认仅提供了int insert(T entity)这个单条插入的方法。那么我们想批量插入数据该怎么办呢? 在以前用Mybatis的时候,我们会在Mapper.xml里面去写foreach循环: 如果批量的实体对象较多的话,我们就会写很多这样的Mapper,如果表字段较多...
FieldFill的值说明如下: DEFAULT: 默认不处理 INSERT :插入时填充字段 UPDATE:更新时填充字段,当设置为这个的时候,即使在MetaObjectHandler.insertFil()的方法中执行了strictInsertFill()操作,执行SQL的时候,也是不会进行操作的。 INSERT_UPDATE:插入和更新时填充字段 2.2自定义实现类 MyMetaObjectHandler 实现元对象处理...