有关ResultSet类中getLong方法自动将null转为0的解决方式
- 博客分类:
- 数据库
今天在开发中遇到一个问题,后台数据库table中某column保存的值明明是null,但是通过java.sql.ResultSet类中的getLong方法取出以后就自动转为0,这个值显然是不符合要求的。本人比较菜,纠结了很久不知如何解决,后来经牛人指点,说是可以使用该类中的wasNull()方法来判断最新一次get数据是否为空,代码片段如下:
ResultVO resultVO = new ResultVO();
ResultSet rs = new ResultSet();
/* get data from db */
//....
/* end */
resultVO.setTaskId(rs.getLong("task_id"));
if (rs.wasNull()) {
resultVO.setTaskId(null);
}
//...
注意:这个wasNull判断一定要紧跟在你想要判断非空的那个字段取动作之后,否则它判断的就不是你所期望的那个column值了。