mybatis 一对多 联合查询ResultMap映射 mybatis 1对多查询
转载
<!-- 一对多关联查询 -->
<resultMap id="唯一的标识" type="映射的pojo对象">
<id column="表的主键字段或查询语句中的别名字段" jdbcType="字段类型" property="映射pojo对象的主键属性" />
<result column="表的一个字段(可以为任意表的一个字段)" jdbcType="字段类型" property="映射到pojo对象的一个属性"/>
<collection property="pojo的集合属性" ofType="集合中的pojo对象">
<id column="集合中pojo对象对应的表的主键字段" jdbcType="字段类型" property="集合中pojo对象的主键属性" />
<result column="可以为任意表的字段" jdbcType="字段类型" property="集合中的pojo对象的属性" />
</collection>
</resultMap>
<!-- 一对多关联查询 -->
<!--
【resultMap:将整个查询结果映射到com.mybatis.pojo.User这个实体中】
【id:唯一的标识,后面的select语句中resultMap的值】
【type:映射的pojo对象,映射到com.mybatis.pojo.User这个实体中】
【autoMapping:autoMapping="true"自动映射,放在id或type后面】
结构:<resultMap id="唯一的标识" type="映射的pojo对象">
-->
<resultMap type="com.mybatis.pojo.User" id="userMap">
<!--
【id:查询列中的唯一标识,User中的唯一标识】
结构:<id column="表的主键字段或查询语句中的别名字段" jdbcType="字段类型" property="映射pojo对象的主键属性" />
【column:与数据库表对应的字段,property:与实体对应的属性,jdbcType可以不用写会自动映射】
结构:<result column="表的一个字段" jdbcType="字段类型" property="映射到pojo对象的一个属性"/>
【假如数据库中t_User表中的主键为user_id,而实体属性名称为userId,则这个配置应为
<id column="user_id" property="userId"/>,result也是一样,类似hibernate实体映射文件配置】
-->
<id column="id" property="id"/>
<result column="username" property="username"/>
<result column="password" property="password"/>
<result column="nickname" property="nickname"/>
<result column="email" property="email"/>
<result column="email" property="email"/>
<!--
【collection:对关联查询到的多条记录映射到集合中】
【property:将关联查询到的多条记录映射到com.mybatis.pojo.User类的roles属性中】
【ofType:指定映射的集合属性中pojo的类型,roles属于com.mybatis.pojo.Role对象】
【autoMapping:autoMapping="true"自动映射,放在property或ofType后面】
结构:<collection property="pojo的集合属性" ofType="集合中的pojo对象">
-->
<collection property="roles" ofType="com.mybatis.pojo.Role">
<!--
【Role实体映射对应t_role表】
【id:集合中pojo对象对应的表的主键字段】
结构:<id column="集合中pojo对象对应的表的主键字段" jdbcType="字段类型" property="集合中pojo对象的主键属性" />
【column:与数据库表对应的字段,property:与实体对应的属性】
结构:<result column="可以为任意表的字段" jdbcType="字段类型" property="集合中的pojo对象的属性" />
-->
<id column="roleid" property="id"/>
<result column="name" property="name"/>
<result column="description" property="description"/>
<result column="createtime" property="createtime"/>
</collection>
</resultMap>

本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。