Mybatis查询 返回map集合 resultType等于map 及 @Select注解查询返回Map
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>
浙公网安备 33010602011771号