今天遇到一個(gè)比較特殊的業(yè)務(wù),需要對(duì)傳入的Map數(shù)據(jù)在映射文件中進(jìn)行遍歷,在之前的學(xué)習(xí)中,我們也知道MyBatis有默認(rèn)對(duì)集合的操作list和array,但是沒有默認(rèn)的map,所有不能直接寫collection="map",如果這么處理,它會(huì)當(dāng)成是根據(jù)map.get("map")獲取傳遞value只,==大部分情況下是一個(gè)map中是不會(huì)有“map”這個(gè)key的,于是就是報(bào)錯(cuò)==。如果你想用map標(biāo)識(shí)來(lái)獲取參數(shù)map,就需要保證傳入的Map參數(shù)有@Param("map")注解。
1.Mybatis入?yún)ap的使用
1.1 傳遞Map數(shù)據(jù)
第一種:自己封裝傳遞Map中的KEY值,模擬數(shù)據(jù)
//service: public ListgetByMap(Map > map){ Map paramsMap= new HashMap (); params.put("paramsMap", map); return this.getByMap(paramsMap); } //dao: int getByMap(Map map)