gpt4 book ai didi

java - 带有 oracle NUMBER 类型的 jdbc 准备语句

转载 作者:搜寻专家 更新时间:2023-10-31 19:39:45 25 4
gpt4 key购买 nike

我有一个 java 应用程序,它建立了一个到 Orcale 数据库的 jdbc 连接。我正在尝试将数据插入数据库,但对 oracle NUMBER 类型感到困惑。我的表中有三列,分别属于这些类型。

NUMBER(38,0)
NUMBER(20,0)
NUMBER(16,0)

我的第一个问题是我应该将数据放入哪种类型的 java 类型中,以便在准备好的语句中使用它。

我的第二个问题是我可以在准备好的语句中使用什么集合操作来插入数据。

假设我们正在使用 NUMBER(38,0)。我会将 java 类型设置为 BigInteger 吗?如果我有一个整数 1 会是

 BigInteger one = new BigInteger(1);

然后在我的 preparedStatement 中会是

 PreparedStatement pstmt = conn.prepareStatement("INSERT INTO TABLE(bigInt) VALUES(?)");
pstmt.setLong(1, one);

这似乎行不通,所以我认为这是不正确的。任何帮助,将不胜感激。

最佳答案

setLong() 不能接受 BigInteger。如果你的数据库中确实有超过 long 范围的值,那么你可能需要使用 setBigDecimal(),因为没有 setBigInteger(),并且您的变量必须是 BigDecimal 类型。如果 long 包含数据库中的值范围,则只需使用 longsetLong()

关于java - 带有 oracle NUMBER 类型的 jdbc 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com