添加数据时主键报错情况如下:
org.mybatis.spring.MyBatisSystemException:
nested exception is org.apache.ibatis.reflection.ReflectionException:
Could not set property 'id' of 'class com.zhaosong.entity.UserInfos'
with value '1188019363148832769'
Cause: java.lang.IllegalArgumentException: argument type mismatch
大致就是由于自动生成了一个id1188019363148832769, 无法放入integer类型
说明:
由于mybatis-plus会自动插入一个id到实体对象, 不管你是否对id设置值都会向实体类中添加一个long类型的值, 所以有时候导致一些意外的情况发生
解决方法
一、修改数据类型
将id的类型改变成long类型,数据库改成和实体类对应的long类型。
二、添加注解的方式
如果还是想要使用数据库id自增, 就要把mybatis-plus这个id生成的功能给关掉,可以在id字段上加上如下注解即可
@TableId(type =IdType.AUTO)
private Integer id;