是否可以在 JDBC 中执行“字段 IN 列表”查询,并将列表作为参数传递?

Posted

技术标签:

【中文标题】是否可以在 JDBC 中执行“字段 IN 列表”查询,并将列表作为参数传递?【英文标题】:Is it possible to do a "field IN list" query in JDBC, with the list passed as a parameter? 【发布时间】:2010-12-08 20:44:46 【问题描述】:

我正在尝试使用准备好的语句运行“SELECT * FROM table WHERE id IN (1, 2, 3)”类型的查询。我尝试了几种方法将列表作为参数传递,但没有奏效:错误:“$1”处或附近的语法错误。我正在使用 PostgreSQL。

目前唯一可行的方法是“SELECT * FROM table WHERE id IN (?, ?, ?)”,每个值作为单独的参数。是否可以直接将列表作为单个参数传递?

【问题讨论】:

【参考方案1】:

是否可以直接将列表作为单个参数传递?

不,这是不可能的。您需要分别绑定每个参数。

【讨论】:

【参考方案2】:

这将是可能的,如果您使用Spring Framework。

【讨论】:

以上是关于是否可以在 JDBC 中执行“字段 IN 列表”查询,并将列表作为参数传递?的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 之 JDBC: 增删改查通过Statement执行更新操作

mybatis执行SQL查不到数据,在数据库执行可以查到

JDBC实现简单的增删改查

JDBC实现数据库的增删改查

JDBC的statement对象(实现增删改查)

Java数据库连接——JDBC基础知识(操作数据库:增删改查)