在使用Spring+MyBatis时,从数据库读取多个字段,多条记录,设置ResultType=Map Mapper中代码如下:
<select id="getCaseDetail" parameterType="map" resultType="map"> select szlx, lasj from ${tablename} where lasj>=#{beg} and substr(lasj,1,10)<![CDATA[<=]]>#{end} order by lasj </select>
inter接口:
public List<Map<String, String>> getCaseDetail(Map<String, Object> map)
<span style="font-size:18px;">[ {'szlx':'0001', 'lasj':'M0001','第三个字段':'key',....}, {'szlx':'0002', 'lasj':'M0002'}, {'szlx':'0003', 'lasj':'M0003'} ]</span>这样就简单易懂多了,每一行表示一个list元素,然而这种形式一般不是我们想要的。
我们一般设置key为第一个字段的值,value为第二个字段的值,此时我们要将返回数据进行处理:
<span style="font-size:18px;">/** * Map转换 * * @param list * 当前list * @param key * key名 字段1 * @param property * value名 字段2 * @return map */ public Map<Object, Object> transfor(List<Map<String, Object>> list, String key, String property) { Map<Object, Object> map1 = new HashMap<Object, Object>(); for (Map<String, Object> map : list) { map1.put(map.get(key).toString(), map.get(property)); } return map1; }</span>
版权声明:本文为博主原创文章,未经博主允许不得转载。