Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jdbcTemplate中的查询参数的结果集_Java_Jdbc_Parameters - Fatal编程技术网

Java 使用jdbcTemplate中的查询参数的结果集

Java 使用jdbcTemplate中的查询参数的结果集,java,jdbc,parameters,Java,Jdbc,Parameters,没有在文档中找到 java ResultSet是否像jdbcTemplate一样支持查询参数 例如,类似于: int length = 10; ResultSet rs = stmt.executeQuery("select MyTable.COLOR from MyTable where MyTable.LENGTH = ?", new Object[] { length }); 可能吗 谢谢。允许编号参数: PreparedStatement pstmt = connection.prep

没有在文档中找到

java ResultSet是否像jdbcTemplate一样支持查询参数

例如,类似于:

int length = 10;
ResultSet rs = stmt.executeQuery("select MyTable.COLOR from MyTable where MyTable.LENGTH = ?", new Object[] { length });
可能吗

谢谢。

允许编号参数:

PreparedStatement pstmt = connection.prepareStatement(
      "select MyTable.COLOR from MyTable where MyTable.LENGTH=?");

pstmt.setInt(1, desiredLength);

ResultSet rs = pstmt.executeQuery();
允许编号参数:

PreparedStatement pstmt = connection.prepareStatement(
      "select MyTable.COLOR from MyTable where MyTable.LENGTH=?");

pstmt.setInt(1, desiredLength);

ResultSet rs = pstmt.executeQuery();

ResultSet不应该查询数据库,所以为什么它需要查询参数呢?我刚刚找到了jdbcTemplate queryForRowSet的方法。似乎这就是我需要的?因为my sql的返回值不止一行。您可以使用语句触发sql查询,而不是结果集。语句有一个子类,PreparedStatement就是这样做的。详细信息请参见Bozho的答案。ResultSet不应该查询数据库,所以它为什么需要查询参数?我刚刚找到了jdbcTemplate queryForRowSet的方法。似乎这就是我需要的?因为my sql的返回值不止一行。您可以使用语句触发sql查询,而不是结果集。语句有一个子类,PreparedStatement就是这样做的。详见波佐的答案。这里有一个教程:嗨,波佐。我对返回值感兴趣——它将是DB表中的多行,由一个ID参数选择。只需在while循环中使用ResultSetnext以通常的方式迭代ResultSet。上述教程的其中一章也介绍了这一点,这就是我的问题的目标——如何在查询中获得参数ID为的ResultSet。据我所知,这种方式是不可能的:ResultSet rs=stmt.executeQueryselect MyTable.COLOR from MyTable where MyTable.id=?,new Object[]{id};这里有一个教程:嗨,波佐。我对返回值感兴趣——它将是DB表中的多行,由一个ID参数选择。只需在while循环中使用ResultSetnext以通常的方式迭代ResultSet。上述教程的其中一章也介绍了这一点,这就是我的问题的目标——如何在查询中获得参数ID为的ResultSet。据我所知,这种方式是不可能的:ResultSet rs=stmt.executeQueryselect MyTable.COLOR from MyTable where MyTable.id=?,new Object[]{id};