多对一处理之测试环境的搭建
搭建测试环境
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();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律