一个用户对多个订单
在用户中添加属性List<user>
User.java
package pojo; 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 String uuid2; private List<Order> orderList; public List<Order> getOrderList() { return orderList; } public void setOrderList(List<Order> orderList) { this.orderList = orderList; } public String getUuid2() { return uuid2; } public void setUuid2(String uuid2) { this.uuid2 = uuid2; } 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 + ", uuid2=" + uuid2 + ", orderList=" + orderList + "]"; } }
mapper文件UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="mapper.UserMapper"> <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"/> <!-- collection用于配置一对多关联 --> <collection property="orderList" 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.uuid2, o.id oid, o.number, o.createtime, o.note from user u left join order1 o on o.user_id = u.id </select> </mapper>
测试
@Test public void getUserOrderMap() { SqlSession openSession = SqlSessionFactoryUtil.getSqlSessionFactory().openSession(); //获得接口实现类 UserMapper mapper = openSession.getMapper(UserMapper.class); List<User> orderUserMap = mapper.getUserOrderMap(); for (User user : orderUserMap) { List<Order> orderList = user.getOrderList(); for (Order order : orderList) { if(order.getId()!=null) System.out.println("========"+order); } } openSession.close(); }