mybatis 的 resultMap 的使用

xiaoxiao2021-02-28  99

需求:数据库查询出来的字段名与pojo的属性名不一样

自定义映射关系

在Mapper.xml中配置

<!-- 定义resultMap,将数据库查询出来的数据与pojo进行一个对应映射关系 type:最终映射的java对象 id:resultMap的唯一标识 --> <resultMap type="user" id="userResultMap"> <!-- column:sql查询字段名 property:pojo的属性名 id标签:查询结果集的唯一标识 ,一般是主键,也可以是唯一标识 result标签:普通列 --> <id column="id_" property="id"/> <result column="username_" property="username"/> </resultMap>

然后将上面的resultMap中id属性的值添加到statement中resultMap的位置

这样就可以自定义映射关系了

<select id="findUserList" resultMap="userResultMap"> SELECT id id_,username username_ FROM USER </select>

resultType和resultMap的区别

resultTypesql查询结果集使用resultType映射,要求sql查询字段名和pojo的属性名一致,才能映射成功。

resultMap: 如果sql查询结果集的字段名和pojo的属性名不一致,使用resultMapsql查询字段名和pojo的属性作一个对应关系 ,首先需要定义resultMap,最终要使用pojo作为结果集映射对象。

 

建议:一般情况下建议使用resultType,因为简单方便。

针对一对多查询或要使用延迟加载 ,必须使用resultMap

转载请注明原文地址: https://www.6miu.com/read-65534.html

最新回复(0)