遍历存放Map的List集合
周五下午在做数据库移植时,遇到一个问题.原来Oracle语句用到一个wm_concat()函数返回字符串"0123",我在转变成mysql语句的时候
selectwm_concat(usertype)asusertype
from(selectusertypefromtbUserPurviewwhereuserid=1groupbyusertype);
我想用这个函数GROUP_CONCAT()代替wm_concat()可是没有成功。sql返回的结果集,虽然也是0123。但用Map中的key对应的value值确实一个内存地址。
Mapmap=baseDAO.getJdbcTemplate().queryForMap(sql);
selectGROUP_CONCAT(fromChildTab.usertype)asusertype
from(selectusertypefromtbUserPurviewwhereuserid=1groupbyusertype)asfromChildTab;
----------------------------------------------------------------
所以我迫不得已只好用一个简单的sql语句,结果集有3条记录,原来用GROUP_CONCAT()函数,只有一条记录。这回返回一个List集合,里边放的是Map。所以要遍历这个list,然后再拼接字符串、
Listlist=baseDAO.getJdbcTemplate().queryForList(sql);
[{sertype=0},{usertype=1},{usertype=2},{usertype=3}]
Listlist=baseDAO.getJdbcTemplate().queryForList(sql);
Stringstr1="";//Stringstr2="";
for(Iteratoriter=list.iterator();iter.hasNext();){
Mapmap=(Map)iter.next();
SetkeySet=map.keySet();
Iteratorit=keySet.iterator();
while(it.hasNext()){
Stringusertype=(String)it.next();
Objectusertype_value=map.get(usertype);//通过键获取值
Stringstr2=usertype_value.toString();
str1=str1+str2;
}
}