我有一个sql列PROTOCOL
,它是可为空的,并且对表有约束
PROTOCOL IN (1, 2, 3)
另外,由于它可以为空,所以我想设置并获取表中的空值
但我不能这样做,setInt
并且getInt
为null。如何使用JDBC将null设置为null
setInt(4,null);
尝试使用。
pst.setNull(4, java.sql.Types.INTEGER); //pst is prepared statement instance.
接口PreparedStatement.setNull
API
将java.sql.Types映射为SQL类型
PS:编辑以反映Java 8更新。
问题内容: 我现在正在使用批处理: 我只是想知道上面的代码是否等效于下面的代码。如果没有,哪个更快? 问题答案: 首先,使用查询字符串连接,不仅会丢失PreparedStatement方法固有的类型转换,而且还容易受到数据库中正在执行的恶意代码的攻击。 其次,PreparedStatement先前已缓存在数据库本身中,与纯语句相比,这已经带来了很好的性能改进。
问题内容: 我正在尝试使用jdbc将一些数据插入到我的数据库中。我正在使用正确的表,数据库名称和参数。一切检查完毕。 代码 这是当我尝试运行它时给我的错误: 问题答案: 您在此行中有语法错误: 您缺少values子句的右括号。
我试图使用以下JDBC语句将一些值插入到来自Java的Oracle DB中: 序列创建如下: 我得到以下错误, 但当我尝试手动插入到表中时,它是成功的。 有什么问题?
我使用的是vertx jdbc客户端(http://vertx.io/docs/vertx-jdbc-client/java/)我的数据库连接。这适用于除BigDecimal之外的所有数据类型。 在我的数据库中,类型是decimal(13,2),在Java中,我使用的是BigDecimal数据类型。我只是想读书 不幸的是,我得到了以下例外: 查看io.vertx.core.json.Json.ch
我正在尝试运行一个insert语句,它将帮助我为下面的api调用创建用户帐户。我查看了JMeter JDBC请求,其中包含select/update/ect。。。我没有看到插入查询类型。有人知道我如何运行一些插入查询来创建数据库的用户吗? 谢谢我。
我的MySQL数据库中有两个表: 另外,如何获取给定名称的数据? 任何帮助都是非常感谢的!