java - 将大字符串转换为 bigInteger 并将其传递给准备好的语句

标签 java groovy prepared-statement biginteger

我有这个字符串reference = '2039487894563827398440987'

我正在尝试通过执行类似的操作将其转换为 BigInteger

def reference = new BigInteger(reference)

然后在准备好的声明中我将其设置为

ps.setLong(reference);

我映射此值的数据库column(XYZ)具有dataType BigInt(40)。但是当我执行该语句时它显示异常:

SQLSTATEEXCEPTION: Out of range value of column `XYZ` at row 1

如何处理这种情况。

编辑:也尝试过setBigDecimal(reference);

最佳答案

您可以使用 setBigDecimal() 代替 setLong()。

关于java - 将大字符串转换为 bigInteger 并将其传递给准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27940530/

相关文章:

java - 在 groovy 中仅使用另一个类的私有(private)构造函数实例化一个类

gradle - 尝试遍历数组并将每个值传递给 gradle 任务

java - Netbeans import java.util.Scanner 类型的非法开始

java - Jackcess 列乱序?

java - 为什么 Eclipse 要求在枚举中声明 strictfp

groovy - 如何通过 jenkins email-ext 插件使用过滤域?

java - 准备好的语句更新问题

java - PreparedStatement 和 CURDATE() MySQL 函数

php - MySQLi 准备好的语句 - SELECT 的包装函数

java - 使用 Selenium(2.46 及更高版本)以编程方式下载文件