1. 修改id字段类型 将id字段类型改为long, 这样就能保证有足够位数放入生成的id 2. 调整数据库id字段类型 将数据库的id字段的长度(改为20位) 解决方案二 如果想要使用id自增的, 就需要把mybatis-plus这个id生成的功能给关掉 添加注解 在id字段上加上如下注解即可 @TableId(value = "id",type= IdType.AU...
先删除mybatis-plus自动生成uuid的设置,然后在你保存对象的时候手动生成id,并set到对像中
接下来,验证一番后,发现,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...
3、Join操作性能比int要低。 4、UUID做主键将会添加到表上的其他索引中,因此会降低性能。 看完了这篇文章,相信你对“如何解决mybatis-plus添加数据时id自增问题”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
原因肯定是mybatisplus用了框架自身的id增长机制,但是不知道怎么控制,所以归根结底还是对框架不熟悉吧。 解决办法就是关掉mybatis自增长,在实体映射类里更改相关注解即可: @TableId(value = "role_id",type = IdType.AUTO) private Long roleId; 注意红色部分,是使用数据库自带的增长策略。
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...
我就默认其他环境已经准备好了,咱们直接从mybatis-plus开始。 1.1 依赖准备 想要什么依赖版本的去maven仓库查看:https://mvnrepository.com/ 引入mybatis-plus依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> ...
在整合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 ...