茜茜今天遇到了这个问题。
1、报错如下:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLDataException: '2.147483653E9' in column '1' is outside valid range for the datatype INTEGER
2、问题分析
通过控制台的运行日志信息可以发现:我们的这个 id 是一个 Integer 类型,但是现在有值超出了 Integer 的范围,所以需要把 pojo 对应的 id 的类型更改为比 Integer 更大范围的是引用类型,我这里改为了 Long 类型。
此问题还是之前,数据库表自增 id 达到最大值遗留的问题,因为之前的 id 是 Integer 类型的,后来改为了 Long 型,然后开发的分支没有合最新的代码,造成代码里还是旧的类型没有改的代码,而数据库表里对应的已经是 bigint 类型了,所以就出了此问题。
3、解决方案:
把类型改成一致,茜茜是把新的代码合到了开发分支就好了;
总结:就是要数据库表 column 的类型要和 pojo 的类型保持一致。
4、最后:
希望遇到同样问题的小伙伴,能参考顺利解决呀。