Mybatis查询 返回map集合 resultType等于map 及 @Select注解查询返回Map
1.Mybatis查询返回Map不推荐这么来查询,针对特殊场景等简便查询使用。
1.返回一个
<select id="getReturnMap" parameterType="int" resultType="map">
select username,address from users where id=#{id}
</select>
Map<String, Object> getReturnMap(int id);
Map map = new() 类.getReturnMap(3);
map.get("username"); //返回 查出来的username
2.返回多个
<select id="getReturnListMap" parameterType="int" resultType="map">
select username,address from users
</select>
List<Map<String, Object>> getReturnListMap();
List<Map> list = 类.getReturnListMap;
list.forEach(map->System.out.println(map));
以下为demo及@Select注解查询返回Map应用: 在MyBatis中,@Select注解通常用于映射SQL查询到Java对象。然而,如果你想将查询结果映射到一个Map而不是一个具体的Java对象,你可以使用@Results和@Result注解来手动指定如何将列映射到Map的键上。
@Mapper
public interface PayMapper{
//方法1
Map<String, Object> selectPayInfoByPrimaryKey(@Param("qn") String qn);
//方法2
@Select("SELECT " +
" id,auth_code as authCode,out_order_no as outOrderNo " +
" FROM tt_pay_center " +
" WHERE qn = #{qn} " +
" AND is_delete = 0 ORDER BY id DESC LIMIT 1 ")
@Results(id = "userMap", value = {
@Result(property = "id", column = "id"),
@Result(property = "authCode", column = "authCode"),
@Result(property = "outOrderNo", column = "outOrderNo")
})
Map<String, Object> selectPayInfoByPrimaryKeyV2(@Param("qn") String qn);
//方法3
//跟上面的@Results是一样的返回结果。 在方法2的基础上,@Results可以不用写。
@Select("SELECT " +
" id,auth_code as authCode,out_order_no as outOrderNo " +
" FROM tt_pay_center " +
" WHERE qn = #{qn} " +
" AND is_delete = 0 ORDER BY id DESC LIMIT 1 ")
Map<String, Object> selectPayInfoByPrimaryKeyV3(@Param("qn") String qn);
}
PayMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.mapper.PayMapper">
<select id="selectPayInfoByPrimaryKey" resultType="map">
SELECT
id,auth_code as authCode,out_order_no as outOrderNo
FROM tt_pay_center
WHERE qn = #{qn}
AND is_delete = 0 ORDER BY id DESC LIMIT 1
</select>
</mapper>
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有