我正在尝试替换这个已弃用的方法,但建议的替换会省略 Scale 参数。
scale参数对我的应用程序似乎很关键,但我无法找到保留精度值的有效方法
但是,对于ResultSet对象,setScale()方法是一个保存宽限,但CallableStatement中没有这样的方法。任何人都可以提出替代方案吗?
答案 0 :(得分:3)
正如CallableStatement.getBigDecimal(int parameterIndex, int scale)
的文档中所述:
<强>已过时即可。 使用
getBigDecimal(int parameterIndex)
或getBigDecimal(String parameterName)
使用getBigDecimal(int)
或getBigDecimal(String)
,将返回
[..]指定的JDBC
NUMERIC
参数的值为java.math.BigDecimal
对象,右边有多少个数字 小数点包含的值。
如果您需要更改比例,则需要使用BigDecimal.setScale(int newScale, RoundingMode roundingMode)
(或其中一个兄弟姐妹)。这是大多数(如果不是全部)JDBC驱动程序在不推荐使用的getBigDecimal(int parameterIndex, int scale)
方法中所做的事情。