參數(shù)是map的foreach要怎么寫?
不能直接遍歷map么?
我看了下網上的,只能使用嵌套的方式
聲明一個value為map的map,然后在foreach的時候
collection="key"
比如
????public?static?void?main(String[]?args)?{ ????????MybatisDao?dao?=?new?MybatisDao(); ??????Map<String,Map<String,Integer>>?map?=?new?HashMap<>(); ????????Map<String,Integer>?map1?=?new?HashMap<>(); ????????map1.put("aaa",1); ????????map1.put("bbb",2); ????????map.put("first",map1); ????????List<Message>?lis?=?dao.queryMessageByMap(map); ????} ????public?List<Message>?queryMessageByMap(Map<String,Map<String,Integer>>?params){ ????????DBAccess?dbAccess?=?new?DBAccess(); ????????SqlSession?sqlSession?=?null; ????????List<Message>?messageList?=?null; ????????try?{ ????????????sqlSession?=?dbAccess.getSqlSession(); ????????????messageList?=?sqlSession.selectList("Message.selectMap",params); ????????}?catch?(IOException?e)?{ ????????????e.printStackTrace(); ????????} ????????return?messageList; ????}
對應的mapper中的sql: <select?id="selectMap"?parameterType="map"?resultType="com.imooc.bean.Message"> ????select?ID,COMMAND,DESCRIPTION,CONTENT?from?message?WHERE?id?IN ????????<foreach?collection="first"?index="index"?item="value"?open="("?close=")"?separator=","> ????????????#{value} ????????</foreach> </select>
有能直接就遍歷的方法么?
2018-07-31