问题所在
Could not set property 'id' of 'class com.lapuda.dao.User' with value '1432183729647779841'
不能够设置id的值
IllegalArgumentException: argument type mismatch
非法参数错误:参数类型不匹配
创建实体类的时候,主键id的类型是Integer
public class User { private Integer id; private String name; private Integer age; private String email; }
但是使用mybatis plus插入user时,会报如上错误。
User user = new User(); user.setName("lsd"); user.setAge(12); user.setEmail("lsd@QQ.COM"); userMapper.insert(user); //userMapper继承了MP提供的baseMapper System.out.println(user.getId());
这是因为在设置user的时候没有设置id,也就是没有设置主键,这时候MP会自动帮我们生产主键,类型是long。而我们之前设置的实体类的id值是int类型,所以就会导致参数不匹配的情况。
解决办法
直接将id的类型改成long