Spring JdbcTemplate 查询绑定list参数
如何绑定list参数进行查询List<String>list;select*fromtabletwheret.namein(:list);解决再加100分...
如何绑定list参数进行查询
List<String> list ;
select * from table t where t.name in (:list);
解决再加100分 展开
List<String> list ;
select * from table t where t.name in (:list);
解决再加100分 展开
3个回答
展开全部
HashMap<String,List> paramMap = new HashMap<String,List>();
paramMap.put("list",list);
String sql = "select * from table t where t.name in (:list)";
List<MaterialRequistion> mrs = getNamedParameterJdbcTemplate().query(sql,paramMap,BeanPropertyRowMapper.newInstance(结果集对象类名.class));
试试这个,用的是NamedParameterJdbcDaoSupport
paramMap.put("list",list);
String sql = "select * from table t where t.name in (:list)";
List<MaterialRequistion> mrs = getNamedParameterJdbcTemplate().query(sql,paramMap,BeanPropertyRowMapper.newInstance(结果集对象类名.class));
试试这个,用的是NamedParameterJdbcDaoSupport
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写为代码吧
首先通过JdbcTemplate创建Query对象:
Query query = ...;
query.setParameterList("list",list);
List 结果集 = query.list();
首先通过JdbcTemplate创建Query对象:
Query query = ...;
query.setParameterList("list",list);
List 结果集 = query.list();
追问
你把...那写出来我看看.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String str = "";
用个循环吧
for(int i=0;i<list.size();i++) {
if(0 == i) {
str += list.get(i).xxxx;
} else {
str += "," + list.get(i).xxxx
}
}
select * from table t where t.name in (str);
用个循环吧
for(int i=0;i<list.size();i++) {
if(0 == i) {
str += list.get(i).xxxx;
} else {
str += "," + list.get(i).xxxx
}
}
select * from table t where t.name in (str);
追问
这种笨方法已经用过了 加了, 查询会被认为是一个参数
追答
在使用SAVE方法的时候,使用了索引参数,意味着吧参数传递给UPDATE的时候,要以正确的顺序列出相应的值。为了避免这种情况,我们可以使用NamedParameterJdbcTemplate.
sql="insert into team (name) values (:name)";
public void save(Team team)
{
Map parameters = new HashMap();
parameters.put("name",team.getName());
jdbcTemplate.update(sql,parameters);
}
如果使用SimpleJdbcTemplate可以采用如下方法来保存:
public void save(Team team)
{
jdbcTemplate.update(sql,team.getName());
}
查询也是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询