【发布时间】:2011-09-13 23:54:27
【问题描述】:
我有几千行的大 ResultSet(从 JDBC 查询中获取)。使用这些行中的每一行,我必须实例化一个Object,并根据此结果集的字段设置它的字段。现在,众所周知,如果该特定列是null,则此JDBC API 的getXXX() 方法将返回0。所以对于每一行的每个字段,我必须先做一个wasNull(),然后再在我的object 中设置值,这看起来很丑陋,而且可能效率也不高。那么,有没有其他方法可以避免呢?
除了 JDBC,如果有一些完全不同的、标准的、常用的方式,我也愿意了解。
谢谢!
编辑 1
patientInput.setRaceCodeId(patients.getShort("race_code_id"));
if(patients.wasNull())
patientInput.setRaceCodeId(null);
patients 是 ResultSet。 patientInput 是 object。这是我试图避免的代码。我的意思是,每次我执行getXXX() 和setXXX() 时,我都必须再次检查我从ResultSet 得到的不是null。如果是,则将该对象字段设置为null,因为在这种情况下getXXX() 返回0。
【问题讨论】:
-
你在使用 wasNull 遇到空值时设置什么?
-
@Gordon Murray Dent:很抱歉,我没有很好地回答您的问题。如果你问我在我的对象中设置什么字段,如果相应的列被发现为空,在这种情况下,我将该对象字段设置为
null。 -
我可以看看代码示例吗?如果没有在上下文中看到您的问题,很难提供有用的建议。
-
@Gordon Murray Dent:请看问题,我已经添加了示例代码。