Mybatis多表查询:一对一查询

创建两个实体类

package domain;

import java.util.Date;

public class OrderInfo {

    int id;
    int ordertime;
    double total;
    int uid;

    UserBir userBir;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getOrdertime() {
        return ordertime;
    }

    public void setOrdertime(int ordertime) {
        this.ordertime = ordertime;
    }

    public double getTotal() {
        return total;
    }

    public void setTotal(double total) {
        this.total = total;
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public UserBir getUserBir() {
        return userBir;
    }

    public void setUserBir(UserBir userBir) {
        this.userBir = userBir;
    }

    @Override
    public String toString() {
        return "OrderInfo{" +
                "id=" + id +
                ", ordertime=" + ordertime +
                ", total=" + total +
                ", userBir=" + userBir +
                '}';
    }
}
package domain;

import java.util.Date;

public class UserBir {

    int id;
    String username;
    String password;
    Date birthday;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "UserBir{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", birthday=" + birthday +
                '}';
    }
}


配置映射文件(多表查询主要就是这个映射文件的配置)

<?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.OrderMapper">
    <!--    column对应的是数据库中的列表名,property对应的是实体中的属性名-->
    <resultMap id="orderMap" type="domain.OrderInfo">
        <id column="id" property="id"></id>
        <result column="ordertime" property="ordertime"></result>
        <result column="total" property="total"></result>
        <!--        property代表当前实体类的属性名称,也就是domain.OrderInfo实体中的属性-->
        <association property="userBir" javaType="domain.UserBir">
            <result column="uid" property="id"></result>
            <result column="username" property="username"></result>
            <result column="password" property="password"></result>
            <result column="birthday" property="birthday"></result>
        </association>

    </resultMap>

    <!--    注意这里是'resultMap',不是'resultType'-->
    <select id="findAll" resultMap="orderMap">

        select * from OrderInfo o,UserBir u where o.uid=u.id

    </select>

</mapper>
posted @ 2021-02-24 10:54  西红柿里没有番茄  阅读(72)  评论(0编辑  收藏  举报