多对一处理之测试环境的搭建

搭建测试环境

1.导入lombok依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version>
</dependency>

2.新建实体类Teacher、Student

Teacher类

package com.xy.pojo;

import lombok.Data;

@Data
public class Teacher {
    private int id;
    private String name;
}

Student类

package com.xy.pojo;

import lombok.Data;

@Data
public class Student {
    private int id;
    private String name;
    //学生需要关联一个老师
    private Teacher teacher;
}

3.建立Mapper接口

TeacherMapper

package com.xy.dao;

import com.xy.pojo.Teacher;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

public interface TeacherMapper {
    @Select("select * from mybatis.teacher where id = #{id}")
    Teacher getTeacher(@Param("id") int id);
}

StudentMapper

package com.xy.dao;

public interface StudentMapper {

}

4.建立Mapper.xml文件

注意:这里的包不是分级的,xml文件就是保存在一个包下(也可以多次建立手动分开),包名为com.xy.dao

StudentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xy.dao.StudentMapper">

</mapper>

TeacherMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xy.dao.TeacherMapper">

</mapper>

5.在核心配置文件中绑定注册我们的Mapper.xml文件

这里需要注意两点!!!

  • 这里的包不是分级的,xml文件就是保存在一个包下(也可以多次建立手动分开),包名为com.xy.dao

    所以寻找路径的时候不是com/xy/dao/xxxxx.xml而是com.xy.dao/xxxxx.xml

  • mapper不能用通配符

mybatis-config.xml

<!--绑定接口-->
<mappers>
    <!--mapper不能用通配符 *-->
    <mapper resource="com.xy.dao/TeacherMapper.xml"/>
    <mapper resource="com.xy.dao/StudentMapper.xml"/>
</mappers>

6.测试查询

package com.xy.dao;

import com.xy.pojo.Teacher;
import com.xy.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;

public class TTest {
    public static void main(String[] args) {
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class);
        Teacher teacher = mapper.getTeacher(1);
        System.out.println(teacher);
        sqlSession.close();
    }
}

posted @ 2022-06-08 16:49  无关风月7707  阅读(32)  评论(0编辑  收藏  举报