在JDBC 文档setObject中我发现了这样一句话:
JDBC 规范指定了从 Java 对象类型到 SQL 类型的标准映射。
但是,我找不到定义此映射的位置。我找到的就是这个。但这仅指定 SQL 类型和 JDBC 类型之间的映射。但我不明白如何从 JDBC 类型转换为 Java 类型。
更具体地说,我想知道这段代码是否保证永远不会抛出InvalidCastException:
int type = resultSet.getMetadata().getColumnType(1);
if (type == Types.LONGNVARCHAR || type == Types.CHAR) {
String abc = (String)resultSet.getObject(1);
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它是人们所期望的非常直观的String,但还有许多其他 SQL 类型我没有这样的直觉。
我只是找不到一个表格来告诉我可以根据常量的知识安全地执行哪些转换java.sql.Types。