@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。
我们知道,MybatisPlus可以给一些字段设置默认值,比如创建时间,更新时间,分为插入时设置,和更新时设置。 常见的例子: /** * 创建时间 */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") @TableField(value = "create_time", fill = FieldFill.INSERT) private Timestamp c...
FieldFill.DEFAULT:这是默认的填充策略,表示字段不应自动填充。 FieldFill.INSERT:该策略指示字段在插入操作时自动填充。 FieldFill.UPDATE:该策略指示字段在更新操作时自动填充。 FieldFill.INSERT_UPDATE:该策略指示字段在插入和更新操作时都自动填充。 使用方法: 要使用 @TableField(fill = FieldFill.INSERT_UPDATE)...
简介:Mybatis-plus插入数据遇到主键没有默认值的问题 新增数据时报 java.sql.SQLException: Field 'id' doesn't have a default value mybatis-plus的insert方法,在底层会默认生成一个Long类型的UUID,这就导致跟数据库里面类型不一致,把数据库默认自增的主键给禁了 ...
创建 插入修改默认值设置方法 @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` ( ...
并且还带着大家看了内部实现的源码,这种方式比起自己for循环一条一条INSERT插入数据性能要更高,原因是在会话这块做了优化,虽然实际执行并不是真的批量插入。 利用SQL 注入器实现真的批量插入 接下来,小哈就手把手带你通过 Mybatis Plus 框架的 SQL 注入器实现一个真的批量插入。
也可以application.properties 加入配置,设置默认值,如果默认值和mp默认的一样,则可以省略: #mp逻辑删除相关配置 mybatis-plus.global-config.db-config.logic-delete-value=1; mybatis-plus.global-config.db-config.logic-not-delete-value=0; 还可以在元对象处理器接口添加deleted的insert默认值,则插入默认更新该...