2
PreparedStatement.setObject的Javadoc说只传递空值并不安全,并建议使用setNull来代替,这需要传递列DB类型。setObject和null的安全
因为在Java中告诉空值的类型并不简单,我不知道是否有任何资源列出了为流行的数据库调用setObject为null值的安全性?
PreparedStatement.setObject的Javadoc说只传递空值并不安全,并建议使用setNull来代替,这需要传递列DB类型。setObject和null的安全
因为在Java中告诉空值的类型并不简单,我不知道是否有任何资源列出了为流行的数据库调用setObject为null值的安全性?
在oracle的java文档中有一个相当有趣的页面。
阿比纳夫
市价修改EJP的评论:
下面的setObject声明是更好的,并建议按照Java文档:
void setObject(int parameterIndex, Object x, int targetSqlType)
注:不所有数据库都允许发送非类型的Null到后端。为了获得最大的可移植性,应该使用setNull或setObject(int parameterIndex,Object x,int sqlType)方法代替setObject(int parameterIndex,Object x)。
对象类型可以使用上面链接的映射列表来标识。
链接到页面,无论是有趣还是其他,都不是自己的答案。这个完全没有趣味,因为甚至没有出现'null'这个词。 -1 – EJP 2013-03-22 23:48:11
我会说这个页面非常有趣,但与这个问题无关。此外,我没有找到Java 7的这些表,这是否意味着它们已经过时? – 2013-03-23 00:01:03
它没有看到Java 7的问题,所以我发布了一个我最喜欢的东西。所有这些也适用于Java 7。更新第二个链接与最新的一个。 – Abhinav 2013-03-23 00:11:19