一、一对一
1、resultType返回类型:使用resultType返回相对简单,查询扩展类属性时,创建扩展类。
2、resultMap返回类型:使用resultMap首先需要将1:1关联实体例如订单关联查询用户是一对一关系,所以在Order实体中添加单个User对象存储关联查询的用户信息。
1)Order Pojo中添加private User user;
2)定义resultMap
需要关联查询映射的是用户信息,使用association将用户信息映射到订单对象的用户属性中。
<!-- 订单信息resultmap -->
<resultMap type="cn.itcast.mybatis.po.Orders" id="userordermap">
<!-- 这里的id,是mybatis在进行一对一查询时将user字段映射为user对象时要使用,必须写 -->
<id property="id" column="id"/>
<result property="user_id" column="user_id"/>
<result property="number" column="number"/>
<association property="user" javaType="cn.itcast.mybatis.po.User">
<!-- 这里的id为user的id,如果写上表示给user的id属性赋值 -->
<id property="id" column="user_id"/>
<result property="username" column="username"/>
<result property="address" column="address"/>
</association>
</resultMap>
a
ssociation
:
表示进行关联查询单条记录
property:表示关联查询的结果存储在cn.itcast.mybatis.po.Orders的user属性中