java - 将字符串数组传递给准备好的语句

标签 java database

<分区>

Possible Duplicate:
java PreparedStatement

我可以做prepared statement吗

SELECT * FROM STUDENTS WHERE STUDENT_ID IN ?

进入

SELECT * FROM STUDENTS WHERE STUDENT_ID IN (1,2,3)

鉴于学生id的集合是一个字符串数组。

最佳答案

我认为您最好的解决方案是动态生成 in 子句:IN (?,?,?,?) ,然后调用 preparedStatement.setInt(i + 1, myValues[i]) 用于数组/集合中的每个值。坏消息是,每次您有不同数量的值时,您最终都会得到不同的 preparedStatement。

参见重复问题:PreparedStatement IN clause alternatives?

关于java - 将字符串数组传递给准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3822371/

相关文章:

sql-server - LINQ To SQL 是否提供比使用 ado.net 和 oledb 更快的响应时间?

java - java中如果值为1.01则四舍五入为1,如果为1.1则为2?

Java 递增的对象名称

sql - 如何将所有数据库用户从一个数据库复制到另一个数据库

database - 亲子设计,轻松识别子类型

javascript - 数据显示更新结果,但更新结果不工作 PHP

java - 使用不同的参数传递方式调用构造函数的差异

java - 我们如何在依赖注入(inject) Controller 中添加值?

java - 如何上传视频到客户自己的youtube channel

c# - 如何为来自不同公司的断开连接的系统同步两个数据库