【问题标题】:How to properly convert oracle data types to java types using JDBC?如何使用 JDBC 将 oracle 数据类型正确转换为 java 类型?
【发布时间】:2021-07-07 16:37:42
【问题描述】:

我需要知道 JDBC ResultSet 中列的数据类型。

我能够得到JDBC types,它们是从 Oracle 类型生成的:

ResultSet rs = databaseMetaData.getColumns(null, "C##TMPUSER", null, null);
rs.next();
int code = rs.getInt(5);
String sqlJavaType = JDBCType.valueOf(code).getName();

例如,如果 oracle 中的列是 NUMBER,则返回 NUMERIC

这是java sql Type,但我需要对应的Java类型,例如Stringintfloat等。

如何获取这些数据类型?

【问题讨论】:

  • 试试rs.getObject(n).getClass()
  • 谢谢!!!这正是我所需要的。

标签: java oracle jdbc


【解决方案1】:

检查从ResultSetgetObject(i)方法返回的对象的类:

Class<?> javaColumnType = rs.getObject(n).getClass();

适用于所有列类型。

请注意,如果列包含null,则对getClass() 的调用将抛出NullPointerException,因此您可能需要注意这一点。

【讨论】:

  • 非常感谢!
猜你喜欢
  • 2021-03-02
  • 1970-01-01
  • 2014-11-05
  • 2013-10-24
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多