PreparedStatement setNull(..)
2022-08-31 10:29:09
Java PreparedStatement 提供了显式设置 Null 值的可能性。这种可能性是:
prepStmt.setNull(parameterIndex, Types.VARCHAR);
此调用的语义是否与使用具有 null 参数的特定 setType 时相同?
prepStmt.setString(null);
?
Java PreparedStatement 提供了显式设置 Null 值的可能性。这种可能性是:
prepStmt.setNull(parameterIndex, Types.VARCHAR);
此调用的语义是否与使用具有 null 参数的特定 setType 时相同?
prepStmt.setString(null);
?
但要注意这一点...
Long nullLong = null;
preparedStatement.setLong( nullLong );
-thows 空指针异常-
因为原型是
setLong( long )
不
setLong( Long )
很好,可以抓住你。
本指南说:
6.1.5 将 JDBC NULL 作为 IN 参数发送
该方法允许程序员将JDBC(通用SQL)值作为IN参数发送到数据库。但是,请注意,仍必须指定参数的 JDBC 类型。
setNull
NULL
NULL
当 Java 值传递给方法时(如果它将 Java 对象作为参数),也会将 JDBC 发送到数据库。但是,仅当指定了 JDBC 类型时,该方法才能取值。
NULL
null
setXXX
setObject
null
所以是的,它们是等效的。