《Mybatis学习-8》 select查询如何返回 List 和 Map

218 阅读1分钟

List的返回

接口:    List<Employee> getEmpByNameLike(String name);

mapper.xml文件:返回值不是list,而是list中元素的类型

<select id="getEmpByNameLike" resultType="cc_study.pojo.Employee">
select * from employee where name like "%"#{name}"%"
</select>

 

Map(返回一个数据,键为字段名,值为对应的值)

接口:   Map<String, Object> getEmpReturnMap(Integer id);

mapper.xml文件:返回值为map;mybatis内部已经封装好

<select id="getEmpReturnMap" resultType="map">
select * from employee where id = #{id}
</select>

 

Map(返回多条数据,键为主键,值为数据封装的javabean)

接口:

@MapKey注释是为Map设置键使用的,我这边是将id的值作为Map的键,也可以使用name等字段

@MapKey("id")
Map<String, Employee> getEmpByNameLikeReturnMap(String name);

mapper.xml文件:返回值为Map中元素的类型,将数据封装成javabean

    <select id="getEmpByNameLikeReturnMap" resultType="cc_study.pojo.Employee">
select * from employee where name like "%"#{name}"%"
</select>