当前位置: 首页 > 面试题库 >

从ResultSet中获取Integer对象

丰智
2023-03-14
问题内容

ResultSet提供方法getInt()返回原语int。是否有可能获得Integer允许的物体null?我正在检索的数据库字段可以为空,并且只要该字段为,就会getInt()返回我。0``null

谢谢


问题答案:

只需检查该字段是否在null使用ResultSet#getObject()

Integer foo = resultSet.getObject("foo") != null ? resultSet.getInt("foo") : null;

或者,如果你能保证你使用正确的数据库列类型,以便ResultSet#getObject()真正返回Integer(因而没有LongShortByte),那么你也可以强制转换它。

Integer foo = (Integer) resultSet.getObject("foo");

更新:对于Java 1.7+

Integer foo = resultSet.getObject("foo", Integer.class);


 类似资料:
  • 我想知道为什么当我运行它时它不返回任何东西。当我将查询字符串从更改为时,我得到一个结果。在这种情况下 DB2驱动程序成功加载DB2数据库连接****创建JDBC语句对象****创建JDBC ResultSet对象名称=GGA名称=GGA名称=GGA名称=GGA ****从JDBC ResultSet提取所有行****关闭JDBC ResultSet 这差不多是对列的描述。我想知道为什么没有产生任何

  • 多亏了约书亚我才想通的。

  • 问题内容: 我正在尝试从ResultSet获取表的主键列。以下是步骤 我跟着: 这是有趣的部分。 现在,如果我观看此变量“ rsmd ”,它将显示相关列名的主键标志,但我无法访问它或将其放入任何变量。 我需要同样的帮助。 注意:我不想使用DatabaseMetadata及其getPrimaryKeys()函数,因为它将对外部数据库产生额外的影响。另外,ResultSetMetadata对象已经具有

  • 问题内容: 我从ResultSet获取Date对象时遇到问题。在数据库中,它具有一个值(例如2014-08-01),并且从resultSet获取它之后,它具有另一个值(2014-08-31)。我知道ResultSet的getDate方法返回java.sql.Date,但是我尝试了一些解决方案,例如: 或 但问题是相同的。如果尝试 ,则抛出NullPointerException。 有人可以解释吗?

  • 我正在尝试获取 Cassandra 列系列中的键值对的数量。以下是我使用的代码。 但是当我运行这段代码时,我收到了以下异常。 根据datastax文档(http://www . datastax . com/drivers/Java/2.0/com/datastax/driver/core/row . html),getVarint应该返回一个BigInteger。那么为什么我会得到一个异常呢?我

  • 我试图建立一个方面的导航使用elasticsearch为一个电子商务网站。 商店产品可以有多个变体。我想到的文档结构如下所示: 我将变体定义为嵌套类型。这样,以下查询将返回包含匹配筛选器的变体的所有文档: 现在,我真的希望获得与过滤器匹配的变体的id,以便在类别页面上显示该产品的变体。因此,在本例中,我希望返回第二个变量(1_b)的id。我只获取ResultSet中返回的文档的id。有什么方法可以