Mybatis学习_复杂查询环境搭建


测试环境搭建

1.创建数据表,并插入数据

#创建老师表
create table tb_teacher(
	tea_id int(12) primary key auto_increment,
	tea_name varchar(36)
);

insert into tb_teacher values (null,'秦老师');
insert into tb_teacher values (null,'启老师');

#创建学生表
create table tb_student(
	stu_id int(12) primary key auto_increment,
	stu_name varchar(36),
	tea_id int(12),
	foreign key (tea_id) references tb_teacher(tea_id)
);

insert into tb_student values (null,'赵云',1);
insert into tb_student values (null,'张飞',1);
insert into tb_student values (null,'貂蝉',1);
insert into tb_student values (null,'吕布',1);
insert into tb_student values (null,'刘邦',2);

select * from tb_teacher;
select * from tb_student;

2.创建tb_teacher和tb_student对应的实体类

public class Teacher implements Serializable {
    private Integer tea_id;
    private String tea_name;

    public Teacher() {
    }

    public Teacher(Integer tea_id, String tea_name) {
        this.tea_id = tea_id;
        this.tea_name = tea_name;
    }

    public Integer getTea_id() {
        return tea_id;
    }

    public void setTea_id(Integer tea_id) {
        this.tea_id = tea_id;
    }

    public String getTea_name() {
        return tea_name;
    }

    public void setTea_name(String tea_name) {
        this.tea_name = tea_name;
    }

    @Override
    public String toString() {
        return "Teacher[" +
                "tea_id=" + tea_id +
                ", tea_name='" + tea_name + '\'' +
                ']';
    }
}
public class Student implements Serializable {
    private Integer stu_id;
    private String stu_name;
    private Teacher teacher; //学生需要关联一个老师

    public Student() {
    }

    public Student(Integer stu_id, String stu_name, Teacher teacher) {
        this.stu_id = stu_id;
        this.stu_name = stu_name;
        this.teacher = teacher;
    }

    public Integer getStu_id() {
        return stu_id;
    }

    public void setStu_id(Integer stu_id) {
        this.stu_id = stu_id;
    }

    public String getStu_name() {
        return stu_name;
    }

    public void setStu_name(String stu_name) {
        this.stu_name = stu_name;
    }

    public Teacher getTeacher() {
        return teacher;
    }

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

    @Override
    public String toString() {
        return "Student[" +
                "stu_id=" + stu_id +
                ", stu_name='" + stu_name + '\'' +
                ", teacher=" + teacher +
                ']';
    }
}

3.在org/java/dao下创建StudentMapper接口和TeacherMapper接口

public interface TeacherMapper {
    /**
     * 查询所有老师信息
     */
    public List getTeacherList();
}
public interface StudentMapper {
}

4.在resources下创建org/java/dao目录,创建的时候一步一步创建(右键resources-New-Directory-org ...)

<?xml version="1.0" encoding="UTF-8" ?>




    
    

<?xml version="1.0" encoding="UTF-8" ?>






5.去resources/mybatis-config.xml文件中注册

<?xml version="1.0" encoding="UTF-8" ?>




    
    

    
    
        
    

    
        
            
            
                
                
                
                
            
        
    

    
    
        
        
    

6.测试

多对一的处理

1.在StudentMapper.class中编写方法

public interface StudentMapper {
    // 查询所有学生信息以及对应老师信息
    public List getStudent();

    public List getStudent2();
}