成都网站建设设计

将想法与焦点和您一起共享

使用mybatis-plus生成id主键时会遇到哪些问题-创新互联

这篇文章运用简单易懂的例子给大家介绍使用mybatis-plus生成 id主键时会遇到哪些问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

成都创新互联公司是一家专注于网站设计制作、成都网站设计与策划设计,泽库网站建设哪家好?成都创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:泽库等地区。泽库做网站价格咨询:18980820575

简要说明

由于mybatis-plus会自动插入一个id到实体对象, 不管你封装与否, 所以有时候导致一些意外的情况发生

默认是生成一个长数字字符串(编码不同可能结尾带有字母)

错误

ested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.xxx' with value '1110423703487479810' Cause: java.lang.IllegalArgumentException: java.lang.ClassCastException@14041406

大致就是由于自动生成了一个id1110423703487479810, 但是无法放入到integer中

解决方案一

1. 修改id字段类型

将id字段类型改为long, 这样就能保证有足够位数放入生成的id

2. 调整数据库id字段类型

将数据库的id字段的长度(改为20位)

解决方案二

如果想要使用id自增的, 就需要把mybatis-plus这个id生成的功能给关掉

添加注解

在id字段上加上如下注解即可

 @TableId(value = "id",type = IdType.AUTO)

名称栏目:使用mybatis-plus生成id主键时会遇到哪些问题-创新互联
本文地址:http://chengdu.cdxwcx.cn/article/dhgcsd.html