Java:在PreparedStatement(JDBC)中将null作为Long传递

use*_*412 1 java jdbc

我有一个变量

Long val = null;
Run Code Online (Sandbox Code Playgroud)

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

statement.setLong(1,val);
Run Code Online (Sandbox Code Playgroud)

它不适用于Long,但只能使用很长时间.

任何输入想法或建议.

谢谢 !!!

rge*_*man 9

你应该使用这种setNull方法.

statement.setNull(1, Types.BIGINT);  // Types.BIGINT maps to 64-bit long
Run Code Online (Sandbox Code Playgroud)

将Java类型映射到JDBC类型时,本文指出:

推荐的BIGINT类型的Java映射是Java long.