续上节
1.修改User类
package com.mybatis.domain;
import java.util.Date;
import java.util.List;
public class User {
private Integer id;
private String username;// 用户姓名
private String sex;// 性别
private Date birthday;// 生日
private String address;// 地址
private List<Order> orders;
public List<Order> getOrders() {
return orders;
}
public void setOrders(List<Order> orders) {
this.orders = orders;
}
private String uuid;
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
+ address + ", orders=" + orders + ", uuid=" + uuid + "]";
}
}
2.修改UserMapper接口
//一对多
List<User> getUserOrderMap();
2.修改UserMapper.xml文件
<!-- 一对多 -->
<!-- type数据类型 -->
<resultMap type="user" id="user_order_map">
<id property="id" column="id" />
<result property="username" column="username" />
<result property="address" column="address" />
<result property="birthday" column="birthday" />
<result property="sex" column="sex" />
<!--ofType="order"用的别名 com.mybatis.domain.Order -->
<!-- property 用户中订单属性 -->
<collection property="orders" ofType="order" >
<id property="id" column="oid" />
<result property="userId" column="id" />
<result property="number" column="number" />
<result property="createtime" column="createtime" />
<result property="note" column="note" />
</collection>
</resultMap>
<select id="getUserOrderMap" resultMap="user_order_map">
SELECT
u.`id`,
u.`username`,
u.`birthday`,
u.`sex`,
u.`address`,
u.`uuid`,
o.`id` oid,
o.`number`,
o.`createtime`,
o.`note`
FROM `user` u
LEFT JOIN `order` o
ON o.`user_id` = u.`id`
</select>
3.单元测试
@Test
public void testgetUserOrderMap() {
SqlSession sql=SqlSessionFactoryUtils.getSql().openSession();
//接口代理实现类
UserMapper userMapper=sql.getMapper(UserMapper.class);
List<User> list=userMapper.getUserOrderMap();
for(User user1:list) {
System.out.println(user1);
for(Order order:user1.getOrders())
if(order.getId()!=null)
System.out.println("此用户订单:"+order);
}
sql.close();
}