右耳菌-邓小白的Java架构师的修炼之路

MyBatis 进阶知识

2022-04-13  本文已影响0人  右耳菌

面对复杂的ER关系的情况

package cn.lazyfennec.entity;

import java.util.List;

/**
 * @Author: Neco
 * @Description:
 * @Date: create in 2022/4/12 22:03
 */
public class User {

    private Integer id;
    private String userName;
    private String corp;
    private List<Course> courses;

    public User(Integer id, String userName, String corp) {
        this.id = id;
        this.userName = userName;
        this.corp = corp;
    }

    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 getCorp() {
        return corp;
    }

    public void setCorp(String corp) {
        this.corp = corp;
    }

    public List<Course> getCourses() {
        return courses;
    }

    public void setCourses(List<Course> courses) {
        this.courses = courses;
    }
}

package cn.lazyfennec.entity;

/**
 * @Author: Neco
 * @Description:
 * @Date: create in 2022/4/12 22:04
 */
public class Course {

    private int id;
    private String courseName;
    private Teacher teacher;

    public int getId() {
        return id;
    }

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

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public Teacher getTeacher() {
        return teacher;
    }

    public void setTeacher(Teacher teacher) {
        this.teacher = teacher;
    }
}

package cn.lazyfennec.entity;

/**
 * @Author: Neco
 * @Description:
 * @Date: create in 2022/4/12 22:06
 */
public class Teacher {
    private int id;
    private String teacherName;

    public int getId() {
        return id;
    }

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

    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }
}

以上三个类有以下三种关系:


为了解决如以上三个对象一样的复杂关系,我们需要用到ResultMap

ResultMap相关知识
  1. ResultMap 元素是MyBatis中最重要的最强大的元素。
  2. 数据库永远不是你想要的或需要它们是什么样的。
  3. ResultMap 可以实现复杂查询结果到复杂对象关联关系的转化。

数据库连接池 DataSource

<dataSource type="POOLED">
MyBatis数据库连接声明周期

更多内容建议查看官网

点击右方链接查看官方文档:https://mybatis.org/mybatis-3/zh/index.html

上一篇 下一篇

猜你喜欢

热点阅读