使用Mybatis添加记录错误:Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column ‘id’ at row 1
分析:添加记录的id值超出范围,查看JavaBean中的ID,数据表ID字段的ID,发现两者数据类型不一样。然后Mybatis-plus在添加记录时会生成一个ID,这个ID通常都超过int类型的范围,所以会报上面的错误。
(JavaBean)
(数据库tb_user表)
解决方法:
第一种:数据库ID字段的类型设置为“bigint”;
第二种:在JavaBean的ID属性上设置Mybatis-Plus的ID生成策略为自动递增(@TableId(type = IdType.AUTO));
总结
这两种方式,推荐使用第二种,但需要注意@TableId(type = IdType.AUTO)注解,自动增加是在前一条记录的ID基础上加1,所以如果前1条记录ID数值已经比较大,那么时间一长,记录数变多,也会超出范围。