在选择了一些产品后,用户点击了继续按钮。现在我需要在下一页显示选定的数据。我使用以下代码成功获取了所选数据的 ID。
String[] array = request.getParameterValues("arrayid");
现在我需要使用“select * from table where id=?”来查询 mysql 数据库。我可以循环使用这个查询。但是有没有其他或更好的方法来做到这一点?
在选择了一些产品后,用户点击了继续按钮。现在我需要在下一页显示选定的数据。我使用以下代码成功获取了所选数据的 ID。
String[] array = request.getParameterValues("arrayid");
现在我需要使用“select * from table where id=?”来查询 mysql 数据库。我可以循环使用这个查询。但是有没有其他或更好的方法来做到这一点?
使用 IN 关键字作为 select * from table where id IN(逗号分隔的 ids)
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));
如果您的问题是如何查询表中的一组 ID,则其他答案正确地将您引向 SQL 的IN
关键字。但是,如果您特别询问如何在 JavaPreparedStatement
中执行此操作,则通常推荐的在 Java 中执行查询的 JDBC 不会使构建这些IN
语句变得容易。我在这里发布了一个合理干净地解决这个问题的建议方法: Can PreparedStatement.addBatch() 用于 SELECT 查询?