- <resultMap>标签
<resultMap>标签是MyBatis中最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中的数据)映射到一个结果集中
- <resultMap>中的元素
<resultMap id=”唯一的标识” type=”映射的pojo对象”>
<id column=”表的主键字段” jdbcType=”字段类型” property=“映射的pojo对象的属性”/>
<result column=”表中除了主键的其他任意字段” jdbcType=”字段类型” property=”映射的pojo对象的属性”/>
<association property=”pojo的一个属性” javaType=”pojo关联的另外一个pojo对象”>
<id column=”被关联的pojo对象对应的表的主键字段” jdbcType=”字段类型” property=”被关联的pojo对象的属性”/>
<result column=”被关联的pojo对象对应的表的其他任意字段” jdbcType=”字段类型” property=“被关联的pojo对象的属性”/>
</association>
<collection property=”pojo中的集合属性” ofType=”pojo集合属性对应的另外一个pojo对象”>
<id column=”pojo集合属性对应的表的主键” jdbcType=”字段类型” property=“pojo集合属性对应的另外一个pojo对象的主键属性”/>
<result column=”pojo集合属性对应的表的除了主键之外的其他字段” jdbcType=”字段类型” property=“pojo集合属性对应的另外一个pojo对象的属性”/>
</collection>
</resultMap>
- 作用
主要作用于在自己定义实体类中的属性名和数据库中的字段名不一样,可以通过此方法来将实体类中的属性名和数据表中的字段名一一对应。还可以作用于多表查询,在SQL映射文件中只需要写一个多表查询的SQL语句,可以通过此方法,将查询到的复杂数据映射到一个结果集中,然后对于多个表进行一一对应。