解决这个问题就要从java中short、int、long、float、double的取值范围来说:
基本类型:short 二进制位数:16
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
如果你使用Integer或者int 类型的话,接收的参数超过2147483647就会报这个错误;
解决这种问题的方式就是将类型换成long类型;
造成第二个问题是因为我接收数据库返回的值的时候使用的Integer类型,而在数据库中值是2147483647超过这个大小的
解决方式同上。。。。。