@Before这个注解,让你不用次次写重复的代码

    1. import org.apache.ibatis.io.Resources;
    2. import org.apache.ibatis.session.SqlSession;
    3. import org.apache.ibatis.session.SqlSessionFactory;
    4. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    5. import org.junit.Before;
    6. import org.junit.Test;
    7. import org.pojo.Student;
    8. import java.io.IOException;
    9. import java.io.InputStream;
    10. import java.util.List;
    11. public class AppTest01 {
    12. SqlSession sqlSession = null;
    13. @Before //在所有的@Test方法执行之前先执行前先执行的代码
    14. public void openSqlSession() throws IOException {
    15. InputStream in = Resources.getResourceAsStream("mybatis.xml");
    16. SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
    17. sqlSession = factory.openSession();
    18. }
    19. @Test
    20. public void testSelectAll(){
    21. List<Student> list = sqlSession.selectList("zar.getAll");
    22. list.forEach(student -> System.out.println(student));
    23. sqlSession.close();
    24. }
    25. }

    @After也是做同样的事情,与@Before相比是@After做的是最后每次要执行的重复语句,比如sqlSession.close();

    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.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.pojo.Student;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    public class AppTest01 {
        SqlSession sqlSession = null;
        @Before //在所有的@Test方法执行之前先执行前先执行的代码
        public void openSqlSession() throws IOException {
            InputStream in = Resources.getResourceAsStream("mybatis.xml");
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
            sqlSession = factory.openSession();
        }
    
        @Test
        public void testSelectAll(){
            List<Student> list = sqlSession.selectList("zar.getAll");
            list.forEach(student -> System.out.println(student));
        }
    
        @After
        public void closeSqlSession(){
            sqlSession.close();
        }
    }