(在各个javabean的mapper.xml文件中使用)
作用
作用是定义一个结果集的映射关系
为什么要有这个:
之前学的时候当我们使用MyBatis查询的时候,可以自动转化为我们所需要的POJO
但是,如果列名并不一定和javabean中的属性名字完全一致,且set方法也不一样
这时就需要我们手动去指定哪一个列对应哪一个javabean属性
(这也相当于暗示了:只要你的set方法名或者属性名最少有一个对得上查询的结果就能正确赋值)
甚至可以映射指定转换的数据类型,不过没必要,因为Mybatis已经通过反射获取到数据类型了
使用方法:
在<mapper>
标签内定义:
<resultMap type="com.thundersoft.mybatis.bean.Book" id="bookmapper">
<!--
type:表示需要映射的POJO,可以是别名也可以是类的全名
id:这个resultMap的标识
-->
<id column="id" property="id"/> // <id/>标签用来映射主键
<result column="title" property="title"/> //<result/>标签用来映射普通属性
<!--
column : 列名(无视大小写)
property : POJO中的属性名字(大小写敏感)
-->
</resultMap>
最后:
在查询<select>
标签内添加属性
<select id="selectBook" resultMap="bookmapper" parameterType="map">
select * from Book where id = #{id} and price = #{price}
</select>
resultMap比resultType优先级高