一对一:
第一:在一中的类添加另外一个类作为属性。如(在Order类中添加private User orderUser;)
第二:在mapper.xml配置关联。(mapper接口不变)
<!-- resultMap标签:解决查询结果字段名和实体类属性名不致的问题; 解决多表查询关联映射 --><resultMap id="orderMap" type="实体类(全限定名)"><!--配置:查询结果和Order类的映射关联 --><id column="实体类id" property="id"></id><result column="字段" property="实体类字段"></result><!-- 配置:1对1查询配置 : 查询结果和User类的映射关联autoMapping="true"表示字段与属性实体类名字相同自动复制。如果遇到不相同的用<result></result>关联--><association property="mapper中函数返回值类型" javaType="属性实体类(全限定名)" autoMapping="true"><id column="属性实体id" property="id"></id><result column="属性实体表中字段名" property="属性实体中属性名"></result></association>userName</resultMap><!-- 根据订单编号,查询订单信息及下单人信息 --><select id="mapper中函数名" resultMap="mapper中函数返回值类型"><!-- 双表联查。 --></select>
一对多
第一:在一中的类添加另外一个类作为集合属性。如(在User(一)类中添加
private List<Order> orders(多);)
第二:在mapper.xml配置关联。(mapper接口不变)
<!--配置多表查询映射关系--><resultMap id="mapper函数返回值" type="实体类(一)全限定名" autoMapping="true"><!--配置: 查询结果和User类的映射--><id column="表(一)id字段" property="实体类id"></id><result column="字段" property="实体类(一)属性"></result><!--配置:1对多关系--><collection property="实体类(多)"javaType="java.util.List"ofType="实体类(多)全限定名"><!--配置:查询结果和Order类的映射--><id column="表(多)id字段" property="实体类(多)id"></id><result column="表(多)字段名" property="实体类(多)属性"></result></collection></resultMap><!--根据用户id,查询用户信息和下单信息--><select id="mapper函数名" resultMap="mapper函数返回值"><!--连表查询。--></select>