jdbcTemplate in语句

使用jdbcTemplate时,单个参数查询用的比较多,一般如下:

String sql = "select x from y where z = ?";
List<Map<String,Object>> result = jdbcTemplate.queryForList(sql, zValue);

即用?作为占位符,在queryForList中用实际值去替换。

而如果遇到where z in (z1,z2,...)这类多个参数的查询,上面就不好用了,可以使用NamedParameterJdbcTemplate

用法:

 String sql = "select x from y where z in (:zs) and a = :a";
 
 List<String> zs = ...;

 Map<String, Object> paramMap = new HashMap<String, Object>();
 //这里的zs 必须和sql语句里的参数zs 名称一致
 paramMap.put("zs", zs);

//也可用于单个参数
 paramMap.put("a", aValue);

 List<Map<String, Object>> r = namedParameterJdbcTemplate.queryForList(sql, paramMap);

猜你喜欢

转载自blog.csdn.net/hqqqqqqq555/article/details/107213384