1、Java 实体
public class UserInfo {
private Integer id;
private String username;
private List<OrderInfo> orderInfoList;
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 List<OrderInfo> getOrderInfoList() {
return orderInfoList;
}
public void setOrderInfoList(List<OrderInfo> orderInfoList) {
this.orderInfoList = orderInfoList;
}
@Override
public String toString() {
return "UserInfo{" +
"id=" + id +
", username='" + username + '\'' +
", orderInfoList=" + orderInfoList +
'}';
}
}
public class OrderInfo {
private Integer id;
private Date ordertime;
private Double total;
private Integer uid;
private UserInfo user;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getOrdertime() {
return ordertime;
}
public void setOrdertime(Date ordertime) {
this.ordertime = ordertime;
}
public Double getTotal() {
return total;
}
public void setTotal(Double total) {
this.total = total;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public UserInfo getUser() {
return user;
}
public void setUser(UserInfo user) {
this.user = user;
}
@Override
public String toString() {
return "OrderInfo{" +
"id=" + id +
", ordertime=" + ordertime +
", total=" + total +
", uid=" + uid +
", user=" + user +
'}';
}
}
2、mapper 文件
<?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="com.deppon.mapper.UserMapper">
<resultMap id="userMap" type="com.deppon.domain.UserInfo">
<result property="id" column="id"></result>
<result property="username" column="username"></result>
<collection property="orderInfoList" ofType="com.deppon.domain.OrderInfo">
<result property="id" column="oid"></result>
<result property="ordertime" column="ordertime"></result>
<result property="total" column="total"></result>
</collection>
</resultMap>
<select id="findAllUsers" resultMap="userMap">
select u.*,o.id oid,o.ordertime,o.total,o.uid from user u left join orderinfo o on u.id = o.uid
</select>
</mapper>
3、测试类
public class TestOrderMapperUtil {
private OrderMapper orderMapper;
private UserMapper userMapper;
@Before
public void before() throws IOException {
String path = "SqlConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(path);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession(true);
orderMapper = session.getMapper(OrderMapper.class);
userMapper = session.getMapper(UserMapper.class);
}
@Test
public void test1(){
List<OrderInfo> orderList = orderMapper.findOrderList();
System.out.println(orderList);
}
@Test
public void test2(){
List<UserInfo> allUsers = userMapper.findAllUsers();
System.out.println(allUsers);
}
}