测试类和接口类的写法

77 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情

CStudentTest测试类
import com.itheima.CCollegeMapper;
import com.itheima.CStudentMapper;
import com.itheima.pojo.College;
import com.itheima.pojo.Student;
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.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;

public class CStudentTest {
    @Test
    public void TestInsert() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CStudentMapper mapper = sqlSession.getMapper(CStudentMapper.class);
        Date date = new Date();
        Student student = new Student(null,2,"王三",date,null);
        mapper.insertStudent(student);
        sqlSession.close();
    }
    @Test
    public void TestUpdate() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CStudentMapper mapper = sqlSession.getMapper(CStudentMapper.class);
        Date date = new Date();
        Student student = new Student(1,1,"王qi",date,"2");
        mapper.updateStudent(student);
        sqlSession.close();
    }
    @Test
    public void TestDelete() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CStudentMapper mapper = sqlSession.getMapper(CStudentMapper.class);
        mapper.deleteStudentById(3);
        sqlSession.close();
    }
    @Test
    public void TestGetStudent() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CStudentMapper mapper = sqlSession.getMapper(CStudentMapper.class);
        Student student = mapper.StudentByStuNo(1);
        System.out.println(student);
        sqlSession.close();

    }
    @Test
    public void TestGetStudentList() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CStudentMapper mapper = sqlSession.getMapper(CStudentMapper.class);
        List<Student> list= mapper.getStudentList();
        list.forEach(System.out::println);
        sqlSession.close();
    }
    @Test
    public void TestGetStudentAndCollege() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CStudentMapper mapper = sqlSession.getMapper(CStudentMapper.class);
        List<Student> list = mapper.getStudentAndCollegeByStuNo();
        list.forEach(System.out::println);
        sqlSession.close();
    }
    @Test
    public void TestGetCollegeAndStudent() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获得SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获得SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        CCollegeMapper mapper = sqlSession.getMapper(CCollegeMapper.class);
        List<College> list = mapper.getStudentAndCollege();
        list.forEach(System.out::println);
        sqlSession.close();
    }

}


接口类

package com.itheima;

import com.itheima.pojo.College;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface CCollegeMapper {
    @Select("select * from college")
    @Results({
            @Result(id = true,column = "id",property = "id"),
            @Result(column = "coName",property = "coName"),
            @Result(column = "temp",property = "temp"),
            @Result(property = "stuList",javaType = List.class,
                    column = "id", many=@Many(select = "com.itheima.CStudentMapper.getCollegeAndStudentByStuNo"))
    })
    List<College> getStudentAndCollege();
    @Select("select * from college where id=#{id}")
    College getCollegeById(@Param("id") Integer id);
}
```