2013-10-21 65 views
1

这里是我的代码,它使用的JdbcTemplate如何在spring mvc 3中使用返回结果集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的查询? 我搜索的示例演示如何使用它更新或插入查询,但不是与选择查询。

请帮助。

回答

2

的JdbcTemplate具有another query() method这需要准备的语句的参数作为参数:

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

需要注意的是:

  • SQL应该被命名为sql
  • 您应该使用List而不是ArrayList。 javadoc中没有任何内容保证返回ArrayList。而且你不应该关心返回列表的具体类型。
  • 您应该使用RowMapper<String>而不是原始RowMapper
+0

那帮了谢谢 –

相关问题