<select id="selectUserAndInfoMap" parameterType="Integer" resultType="map">
select u.id,i.user_name,u.user_mobile,r.region_id,r.region_name,u.user_email,u.create_date from
base_login_user u,base_login_user_info i,base_region r
where u.id=i.user_id and i.region_id=r.region_id and i.region_id=#{regionId}
</select>
上面这个是返回map。发现一个有趣的问题,返回的key可能是全大写或小写,假如要特定的key时,sql语句加上id as "id"。加上双引号后你输入的什么就是什么了。
map返回一组数据。
@MapKey("id")
public Map<String, String> selectUserAndInfoMap(Integer regionId);
list<map>返回集合数据
@MapKey("id")
public List<Map<String, String>> selectUserAndInfoMap(Integer id);
写接口时加上
@MapKey("id")
因为返回的map值是json格式,因此返回一个map集合从json传到页面可能会报错。
因此你发现这个报错的时候可能是你的返回值是map,而不是list<map>
一个不动脑子的解决方法,返回值还是list<map>,传值的时候map[0]。通过下标传值