那么mybatis-plus在新增的时候,会出现主键ID从很大的数字开始(example ‘17629802347414’),而不是从1开始的。原因就在于,mybatis-plus在新增的时候,会给一个主键ID, 并且这个数字不规范,还不连续。这时候我们需要忽略掉这一点,不需要mybatis-plus给我们ID。 配置Bean对象: 给主键ID属性,加上一个Type,设置为自动...
那么mybatis-plus在新增的时候,会出现主键ID从很大的数字开始(example ‘17629802347414’),而不是从1开始的。原因就在于,mybatis-plus在新增的时候,会给一个主键ID, 并且这个数字不规范,还不连续。这时候我们需要忽略掉这一点,不需要mybatis-plus给我们ID。 配置Bean对象: 给主键ID属性,加上一个Type,设置为自动...
我们往DB中插入一条数据,使用Mybatis plus的BaseMapper#insert()方法时,如果实体类的主键成员是从自增序列中自动取值,而我们又不做任何标识的话会出现以下错误。出现主键数据很大而无法插入的问题。org.apache.ibatis.reflection.ReflectionException :Could not set property 'id' of 'class com .pojo .sallerPojo...
第一种(推荐): 在主键上面添加注解: @TableId(value="id",type = IdType.AUTO),id为数据库索引字段,重新部署后台程序,然后重新恢复数据库表对应的自增方式,处理历史数据。设置数据库把自动递增改成正常的数字,就是删除现在不正确的数据,然后设置成1,或者改成目前最大的一个数字,比如正常的是最大为...
这就很奇怪了,目前该表数据量很少,且主键是设置AUTO_INCREMENT,正常而言,应该自增id仍在1000范围内,但目前已经变成一串长数字。 底层ORM框架用的是Mybatis-Plus,我寻思了一下,这看起来像是在插入数据库旧自动生成的id,导致并非默认使用MySql的自增AUTO_INCREMENT的id。
我检查了一下,发现该表目前自增主键已经变成从1468844351843872770开始递增了—— image.png 这就很奇怪了,目前该表数据量很少,且主键是设置AUTO_INCREMENT,正常而言,应该自增id仍在1000范围内,但目前已经变成一串长数字。 底层ORM框架用的是Mybatis-Plus,我寻思了一下,这看起来像是在插入数据库就自动生成的id,导致...
百度网上的说法,当Mybatis-Plus实体类没有显示设置主键策略时,将默认使用雪花算法生成,也就是IdType.ID_WORKER或者IdType.ID_WORKER_STR,具体是long类型的19位还是字符串的19位,应该是根据字段定义类型来判断。 snowflake算法是Twitter开源的分布式ID生成算法,结果是一个long类型的ID 。其核心思想:使用41bit作为毫秒...
排查原因发现是引用了mybatis-plus组件,该组件会自动插入一个id到实体对象, 不管你封装与否,这就导致了出现id变的非常大的原因: 默认是生成一个长数字字符串(编码不同可能结尾带有字母) 且实体类主键上面只添加了@TableId 解决方案: 第一种(推荐): 在主键上面添加注解: @TableId(value="id",type = IdType....
@TableId 主键注解 作用:声明实体类中的主键对应的字段。 IdType 主键类型 开始新增数据 测试表准备好后,我们准备开始演示新增数据。实际上,Mybatis Plus 对 Mapper 层和 Service 层都将常见的增删改查操作都封装好了,只需简单的继承,即可轻松搞定对数据的增删改查,本文重点讲解新增数据这块。
1.2、id主键自增不连续 2、自动填充数据功能 代码级别 1)使用注解@TableField 2)数据库中新增字段 3)自定义实现类处理注解 3)测试 数据库级别 3、代码生成器 方式一:下插件 方式二:写代码 4、逻辑删除 1)数据库中添加字段 2)实体类上加注解 3)配置文件 ...