Java : Passing null as Long in PreparedStatement (JDBC)

标签 java jdbc

我有一个变量

Long val = null;

我正在寻找一种方法将其传递给PreparedStatement语句对象,以便将数据库中的字段值设置为null。

statement.setLong(1,val);

它不适用于 Long,但仅适用于 long。

任何输入想法或建议。

谢谢!!!

最佳答案

您应该使用setNull method .

statement.setNull(1, Types.BIGINT);  // Types.BIGINT maps to 64-bit long

将 Java 类型映射到 JDBC 类型时,this article状态:

The recommended Java mapping for the BIGINT type is as a Java long.

关于Java : Passing null as Long in PreparedStatement (JDBC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22797377/

相关文章:

java - 如何在没有 JDBC 4.2 驱动程序的情况下从 java.sql.Timestamp 获取 java.time 对象?

java - 使用 JDBC setString() 在 Oracle 数据库中存储 CLOB 数据类型是否安全?

java - Spring:在属性文件中定义@RequestMapping值

java - 如何获取与数组类型关联的类?

java - 仅使用 volatile 检查并行完成

java - 如何在 Scala 中调用 FileIO.Write.via(Contextful, Contextful)

java - FilteredRowSet 谓词评估方法

java - Oracle 与 JDBC 的连接

java - unicode 支持使用数据源名称与 sqlserver 进行 jdbc 连接

java - 如何在 Android 中从网络获取时间