什么Java数据类型对应于Oracle SQL数据类型数字?
-
29-09-2019 - |
题
Java数据类型是Oracle JDBC驱动程序分配给Oracle SQL数据类型的 NUMERIC
?这是否随着 NUMERIC
类型?
解决方案
正如其他人已经说过的那样:驾驶员将所有内容都映射到BigDecimal,即使将其定义为数字(38)(可以映射到Biginteger)
但是很容易找出驾驶员地图。只需在结果集的列上执行getObject(),然后查看驱动程序生成的类。
就像是:
ResultSet rs = statement.executeQuery("select the_number_column from the_table"); if (rs.next()) { Object o = rs.getObject(1); System.out.println("Class: " + o.getClass().getName()); }
其他提示
根据 Oracle文档 它是 java.math.BigDecimal
.
“但是我对BigDecimal的演员抛出了ClasscastException”
您是否尝试过使用 oracle.sql.NUMBER
?
已经有一段时间了,但我相信这是Java的Bigint。这是大事。我记得您遇到的ClasscastException会给您提示...
不隶属于 StackOverflow