MyBatis使用Map作为返回值
Map selectResultMap(Integer id);
<!-- 需要再sql中给查询的列起别名称 as 的别名称,会封装入返回的map中
在使用中根据map的key获取value
前者是key,后者是value -->
<select id="selectResultMap" resultType="java.util.Map" parameterType="int">
select m.id as id,m.username as `name`
from member m
where id = #{id}
</select>
MemberMapper memberMapper = sqlSession.getMapper(MemberMapper.class);
Map map = memberMapper.selectResultMap(1);
System.out.println(map.get("id")+"\t"+map.get("name"));
测试结果如下:
使用List/
List<Map> selectResultMapGraterTDate(String date);
<select id="selectResultMapGraterTDate" resultType="java.util.Map" parameterType="String">
select m.id as id,m.username as `name`
from member m
where logindate > #{logindate}
</select>
测试:
String loginDate = "2019-06-07";
List<Map> maps = memberMapper.selectResultMapGraterTDate(loginDate);
for (Map map : maps) {
System.out.println(map.get("id")+"\t"+map.get("name"));
}
测试结果如下: