0

在选择了一些产品后,用户点击了继续按钮。现在我需要在下一页显示选定的数据。我使用以下代码成功获取了所选数据的 ID。

String[] array = request.getParameterValues("arrayid");

现在我需要使用“select * from table where id=?”来查询 mysql 数据库。我可以循环使用这个查询。但是有没有其他或更好的方法来做到这一点?

4

3 回答 3

2

使用 IN 关键字作为 select * from table where id IN(逗号分隔的 ids)

于 2014-01-08T06:15:55.130 回答
1
String[] array = request.getParameterValues("arrayid");    
String sql = "SELECT * FROM TABLENAME WHERE id IN ?"; 
PreparedStatement ps = con.prepareStatement(sql);
ps.setArray(1,con.createArrayOf("CHAR", array));
于 2014-01-08T06:22:17.890 回答
0

如果您的问题是如何查询表中的一组 ID,则其他答案正确地将您引向 SQL 的IN关键字。但是,如果您特别询问如何在 JavaPreparedStatement中执行此操作,则通常推荐的在 Java 中执行查询的 JDBC 不会使构建这些IN语句变得容易。我在这里发布了一个合理干净地解决这个问题的建议方法: Can PreparedStatement.addBatch() 用于 SELECT 查询?

于 2014-01-08T06:28:26.483 回答