@Jfinal 老大提供的解决方法

当数据库字段为 int 型(有符号int型),但是如果在 sql 中使用了某些函数,jdbc 会自动转型为 long,例如:select sum(money) from account where accountId = 123。这个行为是 jdbc自动做的,目的是为了防止数据溢出,因为在本例中 money 本来是 int 型,但是 sum(money) 以后很可能数值会超过 java Integer.MAX_VALUE值。另一种 int 自动转 long 型是因为字段使用是无符号 int 型,这两种自动转型都是 jdbc 自动的,jfinal 未做任何干预。至于 int 型可以使用 getStr 读取出来,那必定是值为 null, 否则肯定会抛出类型转换异常。

解决的办法通常两个:

1:预知可能的转型,使用正确的类型变量去接收值,例如用 Long变量去接收 select sum(xxx)值。

2:使用 getNumber(attr).intValue() 确切一定得到 Integer 值,或者使用 getNumber(attr).longValue() 确切一定得到 Long 值。

最新文章

  1. Java final 关键词修饰类、方法、变量
  2. 8.1 EntityTypeConfiguration Class in Code-First【Code First系列】
  3. JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度
  4. NOIP2014 总结
  5. FOR ALL ENTRIES IN 与 INNER JOIN 写在一个SQL上影响效率
  6. C# 格式化小总结
  7. ProgressBar样式(转)
  8. POJ1780 Code(欧拉路径)
  9. java作业6
  10. 推荐几款jQuery表格插件
  11. [DEncrypt] Encrypt--加密/解密/MD5加密 (转载)
  12. WPF 媒体播放器(MediaElement)实例,实现进度和音量控制
  13. Nginx模块开发入门(转)
  14. hibernate 事务理解
  15. L - Non-Prime Factors (质数筛选+因子分解)
  16. CPU-bound(计算密集型) 和I/O bound(I/O密集型)
  17. 洗礼灵魂,修炼python(32)--面向对象编程(2)—进一步认识类
  18. Ajax详细剖析
  19. k8s weave network IP回收冲突
  20. pytest.10.使用fixture参数化测试预期结果

热门文章

  1. oracle表数据误删还原
  2. express源码剖析2
  3. javascript之函数篇
  4. PC返回顶部浮动按钮
  5. Oracle- 表的管理
  6. C#学习笔记——面向对象、面向组件以及类型基础
  7. 剑指OFFER之顺时针打印矩阵(九度OJ1391)
  8. ecshop在线手册前言及程序结构
  9. The Hundred Greatest Theorems
  10. Xcode8适配iOS10.1真机测试