1、一对一查询【类属性即可,association 】

案例:查询所有订单信息,关联查询下单用户信息。
 
注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。 

1.1、方法一【resultType】:

使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息: 

1.1.1、Sql语句:

SELECT orders.*,
  user.username,  user.address
FROM
  orders, user
WHERE orders.user_id = user.id

1.1.2、定义pojo类

将上边sql查询的结果映射到pojo中,pojo中必须包括所有查询列名。
原始的Orders.java不能映射全部字段,需要新创建的pojo。 
创建 一个pojo继承包括查询字段较多的po类,如下:
package com.lhx.mybatis.po;

import java.util.Date;

public class Order {
    private Integer id;
    private String user_id;
    private Double number;
    private String note;
    private Date createtime;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUser_id() {
        return user_id;
    }
    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }
    public Double getNumber() {
        return number;
    }
    public void setNumber(Double number) {
        this.number = number;
    }
    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }
    public Date getCreatetime() {
        return createtime;
    }
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }
    

}
View Code
package com.lhx.mybatis.po;

public class OrdersCustom extends Order {
    private String username;
    private String address;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "OrdersCustom [username=" + username + ", address=" + address + ", getId()=" + getId()
                + ", getUser_id()=" + getUser_id() + ", getNumber()=" + getNumber() + ", getNote()=" + getNote()
                + ", getCreatetime()=" + getCreatetime() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
                + ", toString()=" + super.toString() + "]";
    }

    

    

}
View Code

相关文章: