今天在开发中遇到一个问题,后台数据库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值了。