19_复杂查询环境搭建

步骤:

1.数据库核心配置文件mybatis-config.xml获取数据库的连接
引入db.properties
设置log4j
2.编写工具类MybatisUtils,拿到SqlSession对象方便对数据CRUD
3.编写实体类 Teacher、Student
4.编写操作实体类的接口TeacherMapper StudentMapper
5.编写sql映射文件TeacherMapper.xml StudentMapper.xml
(在resources目录下面建,要和原来的接口类在同样的目录下,方便编译到target中在一块)
(建立directory的时候间隔不要用.而是用/,不然会建成一个文件夹而不是层叠的)
6.在mybatis-config.xml中绑定对应的mapper
7.测试:
①在StudentMapper中添加一个方法,并用注解的方法进行对数据库的操作
②编写测试类进行测试


 

1.建立数据库文件

    CREATE table `teacher` (
	`id` INT(10) not null,
	`name` varchar(30) DEFAULT null,
	PRIMARY KEY(`id`)
	)ENGINE=INNODB DEFAULT CHARSET=utf8
	
	INSERT INTO teacher(`id`,`name`) values('1', '张老师');
	
	CREATE TABLE `student` (
	`id` INT(10) not null,
	`name` varchar(30) DEFAULT null,
	`tid` int(10) DEFAULT null,
	PRIMARY KEY(`id`),
	KEY `fktid`(`tid`),
	CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
	)ENGINE=INNODB DEFAULT CHARSET=utf8
	
	insert into `student` (`id`,`name`,`tid`) values('1','小明','1');
	insert into `student` (`id`,`name`,`tid`) values('2','小红','1');
	insert into `student` (`id`,`name`,`tid`) values('3','小张','1');
	insert into `student` (`id`,`name`,`tid`) values('4','小李','1');
	insert into `student` (`id`,`name`,`tid`) values('5','小王','1');

2.建立实体类

Teacher.java

package com.geng.pojo;

public class Teacher {
    private int id;
    private String name;

    @Override
    public String toString() {
        return "Teacher{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

    public Teacher(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public Teacher() {
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Student.java

package com.geng.pojo;

public class Student {
    private int id;
    private String name;
    private Teacher teacher;

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", teacher=" + teacher +
                '}';
    }

    public Student(int id, String name, Teacher teacher) {
        this.id = id;
        this.name = name;
        this.teacher = teacher;
    }

    public Student() {
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Teacher getTeacher() {
        return teacher;
    }

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

3.编写dao接口

StudentMapper.java

package com.geng.dao;

public interface StudentMapper {

}

TeacherMapper.java

package com.geng.dao;

import com.geng.pojo.Teacher;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface TeacherMapper {
    @Select("select * from mybatis.teacher")
    List<Teacher> getTeacherList();
}

4.编写SQL映射文件 

StudentMapper.xml

<?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.geng.dao.StudentMapper">

</mapper>

TeacherMapper.xml

<?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.geng.dao.TeacherMapper">

</mapper>

5.绑定Mapper(在mybatis-config.xml中)

<mappers>
        <mapper class="com.geng.dao.TeacherMapper"/>
        <mapper class="com.geng.dao.StudentMapper"/>
</mappers>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值