2

这是我使用 jdbcTemplate 的代码

 String SQL = "select branch from branchTable where branch_name = '" + branch + "'";         
           ArrayList<String> branchList = (ArrayList<String>) jdbcTemplateObject.query(SQL, new RowMapper() {
                  public Object mapRow(ResultSet resultSet, int i) throws SQLException {
                    return resultSet.getString("city_desc");
                  }
                });
                       return branchList;

现在我希望能够将preparedstatement与类似的查询一起使用"select branch from branchTable where branch_name = ?"

我怎么能用 jdbcTemplate 做到这一点?我搜索的示例演示了如何将它与更新或插入查询一起使用,但不与选择查询一起使用。

请帮忙。

4

1 回答 1

2

JdbcTemplate 有另一个 query() 方法,它将准备好的语句的参数作为参数:

jdbcTemplateObject.query(SQL, new Object[] {branchName}, new RowMapper() {...});

注意:

  • SQL应该命名sql
  • 你应该使用List而不是ArrayList. javadoc 中的任何内容都不能保证返回 ArrayList。而且您不应该关心返回的列表的具体类型。
  • 您应该使用 aRowMapper<String>而不是 raw RowMapper
于 2013-10-21T08:56:45.147 回答