如何使用jdbc将oracle数据类型正确转换为java类型?

gxwragnw  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(501)

我需要知道jdbc结果集中列的数据类型。
我能够获得jdbc类型,这些类型是从oracle类型生成的:

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

例如,返回哪个 NUMERIC 如果oracle中的列为 NUMBER .
这是JavaSQL类型,但我需要相应的java类型,例如 String , int , float
如何获取这些数据类型?

dfddblmv

dfddblmv1#

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

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

它适用于所有列类型。
请注意,如果列包含 null ,呼吁 getClass() 将抛出一个 NullPointerException ,所以您可能需要对此加以防范。

相关问题