@TableField(value="crt_code",fill =FieldFill.INSERT): 该注解主要是Mybatis 插入默认值 value值为数据库表中的字段,file是用来指定策略的,可以新增时插入,也可以修改时插入 @Excel(name = "创建人编码", width = 15) // 用于 Excel 导入导出(此处不做交多阐述) @JsonFormat(timezone = "GMT+8", pa...
旧版本当我们不指定主键生成类型时,即值为null时,默认使用ID_WORKER类型。 新版本默认为NONE,注解里等于跟随全局,全局里约等于 INPUT。 (1)AUTO:数据库ID自增。 (2)NONE:无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)。 (3)INPUT:insert前自行set主键值,即我们插入前,需要手动设置id。
mybatis-plus的insert方法,在底层会默认生成一个Long类型的UUID,这就导致跟数据库里面类型不一致,把数据库默认自增的主键给禁了 主键生成方式类型如下(IdType): AUTO(0, "数据库ID自增"),INPUT (1, "用户输入ID"),ID_WORKER (2, "全局唯一ID"),UUID (3, "全局唯一ID"),NONE (4, "该类型为未设置...
我们知道,MybatisPlus可以给一些字段设置默认值,比如创建时间,更新时间,分为插入时设置,和更新时设置。 常见的例子: /** * 创建时间 */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") @TableField(value = "create_time", fill = FieldFill.INSERT) private Timestamp c...
创建 插入修改默认值设置方法 @ComponentpublicclassMetaObjectHandlerConfigimplementsMetaObjectHandler{@OverridepublicvoidinsertFill(MetaObject metaObject) {DatecurrentDate =newDate();//默认未删除setFieldValByName("isDeleted",Constant.DATA_NOT_DELETED,metaObject);//创建时间默认当前时间setFieldValByName("createTime...
Mybatis-Plus是Mybatis增强工具,除了封装了基本的增删改查之外,还提供了一些好玩的东西,如逻辑删除配置和自动填入默认值。 记住:所有的删除都是逻辑删除,所以数据库必须有一个字段,一般是 is_deleted 0-表示未删除 1-表示已删除 二、sql语句 CREATE TABLE `user_info` ( ...
INSERT:插入时自动填充字段 UPDATE:更新时自动填充字段 INSERT_UPDATE:插入和更新时自动填充字段 二、自定义填充默认数值 编写公共字段填充处理器类,该类继承了MetaObjectHandler类,重写 insertFill和updateFill方法,我们在这两个方法中获取需要填充的字段以及默认填充的值。
default CURRENT_TIMESTAMP指定了字段默认值为当前时间,即第1次insert数据时字段值为当前时间,sql语句中无需指定字段值; on update CURRENT_TIMESTAMP表示数据行有修改时,自动更新为当前时间,sql语句中无需指定字段值。 实践 某项目使用mybatis-plus作为持久层框架,采取上述方式建表。
DEFAULT, //默认不处理 INSERT, //插入填充字段 UPDATE, //更新填充字段 INSERT_UPDATE; //插入和更新填充字段 private FieldFill() { } } 所以在实体类的的对应字段上可以这样使用: //create_time @TableField(fill = FieldFill.INSERT) private Date createTime; ...