`
DBear
  • 浏览: 228582 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类

有关ResultSet类中getLong方法自动将null转为0的解决方式

SQL 
阅读更多

   今天在开发中遇到一个问题,后台数据库table中某column保存的值明明是null,但是通过java.sql.ResultSet类中的getLong方法取出以后就自动转为0,这个值显然是不符合要求的。本人比较菜,纠结了很久不知如何解决,后来经牛人指点,说是可以使用该类中的wasNull()方法来判断最新一次get数据是否为空,代码片段如下:

 

  1. ResultVO resultVO = new ResultVO();
  2. ResultSet rs = new ResultSet();
  3. /* get data from db */
  4. ....
  5. /* end */
  6. resultVO.setTaskId(rs.getLong("task_id"));
  7. if (rs.wasNull()) {
  8.   resultVO.setTaskId(null);
  9. }
  10. ...

 

   注意:这个wasNull判断一定要紧跟在你想要判断非空的那个字段取动作之后,否则它判断的就不是你所期望的那个column值了。

 

分享到:
评论
2 楼 独爱cyjs 2015-12-03  
试下用rs.getObject()
1 楼 lord_is_layuping 2011-08-03  

相关推荐

Global site tag (gtag.js) - Google Analytics