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 …

那么解决方法是什么?


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

查看所有标签

猜你喜欢:

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

Redis 深度历险:核心原理与应用实践

Redis 深度历险:核心原理与应用实践

钱文品 / 电子工业出版社 / 2019-1 / 79

Redis 是互联网技术架构在存储系统中使用得最为广泛的中间件,也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的互联网公司,通常要求面试者不仅仅掌握 Redis 基础用法,还要理解 Redis 内部实现的细节原理。《Redis 深度历险:核心原理与应用实践》作者老钱在使用 Redis 上积累了丰富的实战经验,希望帮助更多后端开发者更快、更深入地掌握 Redis 技能。 ......一起来看看 《Redis 深度历险:核心原理与应用实践》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

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

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具