先删除mybatis-plus自动生成uuid的设置,然后在你保存对象的时候手动生成id,并set到对像中
1. 修改id字段类型 将id字段类型改为long, 这样就能保证有足够位数放入生成的id 2. 调整数据库id字段类型 将数据库的id字段的长度(改为20位) 解决方案二 如果想要使用id自增的, 就需要把mybatis-plus这个id生成的功能给关掉 添加注解 在id字段上加上如下注解即可 @TableId(value = "id",type= IdType.AU...
接下来,验证一番后,发现,Mybatis-Plus在做insert操作时,确实自动生成一条长19的数字当做该条数据的id插入到MySql,导致虽然MySql表设置了自增,但被Mybatis-Plus生成的id为1468844351843872769所影响,导致下一条数据自动递增值变成1468844351843872770,这种过长的id值,在做索引维护时,是很影响效率,占用空间过大,故而,这...
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.bao...
原因肯定是mybatisplus用了框架自身的id增长机制,但是不知道怎么控制,所以归根结底还是对框架不熟悉吧。 解决办法就是关掉mybatis自增长,在实体映射类里更改相关注解即可: @TableId(value = "role_id",type = IdType.AUTO) private Long roleId; 注意红色部分,是使用数据库自带的增长策略。
数据库id字段数据类型为long 解决方案 在实体类自增的id字段添加一个注解 mybatis plus在插入记录时,有以下几种方法: booleaninsert(T var1);booleaninsertAllColumn(T var1);booleaninsertBatch(List var1);booleaninsertBatch(List var1,intvar2);booleaninsertOrUpdateBatch(List var1);booleaninsertOrUpdateBatch...
1、添加 代码生成器 依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.0</version> </dependency> 1. 2. 3. 4. 5. 注意:MyBatis-Plus 从 3.0.3 之后移除了代码生成器与模板引擎的默认依赖,需要手动添加相关依赖。MyBatis-Plus 支持Vel...
1.先设置workerId为随机数,这样保证每个机器部署的时候拿到的都是随机数 # 设置随机 mybatis-plus.global-config.worker-id: ${random.int} 这里你启动项目的时候会发现一个异常 异常很明显,这里的worer id 必选小于31,那我们就需要修改一下随机数
在整合mybatis-plus后,使用他自带的insert新增方式,不需要手动设置id,可以采用他自己的算法设置id,如下: ps:这两个注解一定不要忘了,不然他找不到对应的表和字段,Idtype的参数有很多,这里说两个,一个UUID,一个Auto。 UUID:生成随机数。 Auto:让id自增,需要在数据库新建表时就设置好id自增,不然会报错。
private String id; @TableField(value = "CREATE_TIME" ,fill = FieldFill.INSERT) private Date createTime; @TableField(value = "UPDATE_TIME" ,fill = FieldFill.INSERT_UPDATE) private Date updateTime; 1234567891011 然后再写一个MyMetaObjectHandler ...