Mybatis:resultMap中type类型为 java.util.HashMap与pojo类的区别

发布于 2021-08-03  1021 次阅读


首先,需要理解

MyBatis的返回参数类型分两种

  1. 对应的分类为:

1.1.resultMap:单独定义resultMap的时候使用,其中resultMap的xml中又有一个type属性

1.2.resultType:直接使用在查询语句上

2 .对应返回值类型:

2.1.resultMap:结果集

2.2.resultType:int,string ,long ,class 可以返回HashMap

具体用法示例:

<select id="findTownList" resultMap="TownMap">
    SELECT townid,townname xxx WHERE zoneid = #{zoneid}
</select>
<resultMap type="java.util.HashMap" id="TownMap">
    <result column="townid" property="townid"/>
    <result column="townname" property="townname"/>
</resultMap>

简化:

<select id="findTownList" resultType="java.util.HashMap">
    SELECT townid,townname FROM xxx WHERE id = #{id}  
</select>

返回值:

[{townname=x镇, townid=100}, {townname=xx镇, townid=101}]

resultMap 类型为 实体类

type设置为实体就行

<select id="findTownList2" resultMap="TownMap2">
    SELECT townid,townname FROM xx WHERE zoneid = #{zoneid}  
</select>
    <resultMap type="Town" id="TownMap2">
        <result column="townid" property="townid"/>
        <result column="townname" property="townname"/>
    </resultMap>

返回值:

[Town{townid='101095001', townname='x镇'}]


欢迎欢迎~热烈欢迎~