我有一个 sql 列PROTOCOL
,它可以为空并且对表有约束
PROTOCOL IN (1, 2, 3)
另外,由于它可以为空,我想将空值设置并获取到表中
但我不能做setInt
和getInt
为空。如何使用 JDBC 将空列设置为空
setInt(4,null);
尝试使用。
pst.setNull(4, java.sql.Types.INTEGER); //pst is prepared statement instance.
接口 PreparedStatement.setNull API
PS:已编辑以反映 Java 8 更新。
除了Smit 的回答:
如果您想将Integer
-object 插入可能是的数据库中null
,您可以使用
statement.setObject(4, yourObject, java.sql.Types.INTEGER);
代替
if (yourObject == null) {
statement.setNull(4, java.sql.Types.INTEGER);
else {
statement.setInt(4, yourObject);
}