java – JDBC PreparedStatement中“null primitives”的解决方法?

栏目: Java · 发布时间: 7年前

内容简介:参见英文答案 >使用原始JDBC时,您可以参数化PreparedStatement,如下所示:在这里,如果someString为null,那很好 – 字符串可以为空.但是如果getSomeInteger()返回null,我们就会遇到问题.

参见英文答案 > JDBC:Inserting null to Integer column 2个

使用原始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列的值对于此特定记录为空是完全合理的.毕竟,我曾经使用的每个RDBMS都允许数字(INT,LONG等)字段为NULLABLE …

那么解决方法是什么?


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Python高效开发实战

Python高效开发实战

刘长龙 / 电子工业出版社 / 2016-10 / 89

也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。 《Python高效开发实战——Django、Tornado、Flask、Twisted》分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对......一起来看看 《Python高效开发实战》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具