mybatis 的 resultMap 的使用

来源:互联网 发布:淘宝手淘搜索怎么做 编辑:程序博客网 时间:2024/06/05 16:22

需求:数据库查询出来的字段名与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










0 0
原创粉丝点击