当前位置: 首页 > 知识库问答 >
问题:

仅限字符串类型的JDBC setObject

华乐逸
2023-03-14

我正在使用编写JDBC的JDBC模板(SPRING)。在运行时,所有my variables值(绑定变量)都作为字符串保存(在某种程度上识别它们的实际类型:bigint\varchar等)。当我使用setObject时,我不确定是否需要将变量值转换为它的真实类型,或者我可以将变量作为字符串发送给setObject,数据库将根据数据库中的列名对其进行转换(即,如果将其与BigInt进行比较,则会将字符串转换为big int,然后进行查询等)

谢谢

共有1个答案

李星辰
2023-03-14

如果我正确理解了您的问题,那么我认为您不能使用setObject来传递将转换为非字符串SQL类型(int,bigint)的字符串。

看看这个问题。下面是这个问题的答案。

setObject的工作不是确定到列类型的正确转换。setObject javadoc说:“JDBC规范指定了从Java对象类型到SQL类型的标准映射。给定的参数将在发送到数据库之前转换为相应的SQL类型。”因此,它只是查看传递给它的对象的Java类型,并将其转换为SQL类型。所以你给它传递一个字符串,它把它转换成一个合适的varchar。如果希望setObject转换为其他类型,这就是附加setObject变量的原因,它需要转换为目标sql类型,但这无助于您不知道目标类型是什么的情况。

 类似资料:
  • 这章我们来着重介绍一下字符串。 刚刚学习Rust的同学可能会被Rust的字符串搞混掉,比如str,String, OsStr, CStr,CString等等…… 事实上,如果你不做FFI的话,常用的字符串类型就只有前两种。我们就来着重研究一下Rust的前两种字符串。 你要明白的是,Rust中的字符串实际上是被编码成UTF-8的一个字节数组。这么说比较拗口,简单来说,Rust字符串内部存储的是一个u

  • 主要内容:CHAR 和 VARCHAR 类型,TEXT 类型,ENUM 类型,SET 类型字符串类型用来存储字符串数据,还可以存储图片和声音的二进制数据。字符串可以区分或者不区分大小写的串比较,还可以进行正则表达式的匹配查找。 MySQL 中的字符串类型有 CHAR、 VARCHAR、 TINYTEXT、 TEXT、 MEDIUMTEXT、 LONGTEXT、 ENUM、 SET 等。 下表中列出了 MySQL 中的字符串数据类型,括号中的 表示可以为其指定长度。 类型名称 说明 存储

  • redis 字符串类型

  • 问题内容: 有什么方法可以将css3限制为一个类吗?我有动态的元素数量,其中有不同的类来指定其布局需求。我想抓住每3rd,但似乎查找类元素类型,然后计算类型。相反,我想将其限制为仅s。 谢谢! HTML: CSS: 问题答案: 不幸的是,由于不存在,因此无法(至少我不知道)选择一个类。您可能必须为每三分之二手动添加一个新类。

  • 2.3 字符串类型 str 计算机的早期应用主要是科学计算,处理的都是数值。如今,计算机已经大量地应用于 各种文本数据的处理,例如企业信息管理、文本编辑器、搜索引擎等等。文本数据在程序中 是用字符串类型表示的。 字符是计算机中表示信息的最小符号,常见的大小写字母、阿拉伯数字、标点符号等都 是字符。除了这些看得见的“可打印字符”,还有一些看不见的“控制字符”,例如回车、换 行、退格等等。 字符串是由

  • 本文向大家介绍详解Swift中的Characters字符类型与String字符串类型,包括了详解Swift中的Characters字符类型与String字符串类型的使用技巧和注意事项,需要的朋友参考一下 一、引言 Swift中提供了String类型与Characters类型来处理字符串和字符数据,Swift中的String类型除了提供了许多方便开发者使用的方法外,还可以与Foundation框架的