遍历存放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;

}

}

相关推荐