实现测试用例
在本步骤中,你将学习如何实现测试用例,以验证 CourseMapper
的功能。
打开位于 /org/lanqiao/test
目录下的 MyBatisTest.java
文件。
实现 testSelectAllCourses()
方法,以检索并显示所有课程信息。
实现 testSelectCourseById()
方法,以检索课程编号为 2 的课程信息,并将结果存储在 HashMap
中。
package org.lanqiao.test;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import org.lanqiao.mapper.CourseMapper;
import org.lanqiao.pojo.Course;
public class MyBatisTest {
SqlSessionFactory sessionFactory = null;
SqlSession session = null;
@Before
public void before() throws IOException{
String resource = "mybatis-config.xml";
// 加载 MyBatis 配置文件
Reader reader = Resources.getResourceAsReader(resource);
// 创建 SqlSession 工厂
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
// 创建能够执行 SQL 映射文件中 SQL 语句的 SqlSession 对象
session = sessionFactory.openSession();
}
@Test
public void testSelectAllCourses() throws IOException{
// 调用 session 中的 getMapper() 方法返回接口对象
CourseMapper cMapper = session.getMapper(CourseMapper.class);
// 执行查询并返回所有 Course 对象
List<Course> courses = cMapper.selectAllCourses();
System.out.println(courses);
session.close();
}
@Test
public void testSelectCourseById() {
// 获取 CourseMapper 的实例
CourseMapper mapper = session.getMapper(CourseMapper.class);
// 调用方法查询课程编号为 2 的课程信息
Map<String, Object> course = mapper.selectCourseById(2);
// 输出查询结果
System.out.println(course);
}
}
通过执行这些步骤,你已成功修改实体类、配置映射器接口和 XML 文件,并实现了使用 MyBatis 检索课程信息的测试用例。
运行
最后,你可以在终端中编译并运行代码,并使用 Maven 检查测试文件,使用以下命令:
cd MyBatisCourseDemo03
mvn test
你可以参考以下运行效果: