【发布时间】:2013-07-13 11:36:39
【问题描述】:
当使用原始 JDBC 时,您可以像这样参数化 PreparedStatement:
PreparedStatement statement = connection.prepareStatement(someSQLString);
String someString = getSomeString();
Integer int = getSomeInteger();
statement.setString(1, someString);
statement.setLong(2, 5L);
statement.setInt(3, int);
...
在这里,如果 someString 是 null,那很好 - 字符串可以为空。但是如果getSomeInteger()返回null,我们就有问题了。
PreparedStatement#setInt(int,int) 将原始int 设置为值,因此不能为null。
但是,对于这条特定记录,我可能希望上面第 3 列的值是 null。 毕竟,我曾经使用过的每个 RDBMS 都允许数字 ( INT、LONG 等)字段为 NULLABLE...
那么解决方法是什么?
【问题讨论】:
标签: java sql jdbc prepared-statement nullable