import com.mapper.UserMapper; import com.pojo.entity.UserEntity; 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 java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * 动态sql查询 */ public class Test3 { UserMapper userMapper; UserMapper userMapper2; SqlSession sqlSession; SqlSession sqlSession2; @Before public void before() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("mybatisConfig.xml"); SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream); sqlSession = build.openSession(true); sqlSession2 = build.openSession(true); userMapper = sqlSession.getMapper(UserMapper.class); } @Test public void testCondition() { UserEntity userEntity = new UserEntity(); // userEntity.setId(1); userEntity.setName("name"); userEntity.setAge(13); userEntity.setAddress("address"); List userListByCondition = userMapper.findUserListByCondition(userEntity); } @Test public void testForEach() { ArrayList integers = new ArrayList<>(); // integers.add(1); // integers.add(2); List userForEach = userMapper.findUserForEach(integers); } /** * 测试一级缓存 */ @Test public void testCache() { userMapper2 = sqlSession.getMapper(UserMapper.class); ArrayList integers = new ArrayList<>(); // integers.add(1); // integers.add(2); List userForEach1 = userMapper.findUserForEach(integers); List userForEach2 = userMapper2.findUserForEach(integers); } /** * 二级缓存 sqlSessionFactory级别 */ @Test public void testTwoCache() { ArrayList integers = new ArrayList<>(); UserMapper mapper1 = sqlSession.getMapper(UserMapper.class); UserMapper mapper2 = sqlSession2.getMapper(UserMapper.class); List userForEach1 = mapper1.findUserForEach(integers); sqlSession.close(); List userForEach2 = mapper2.findUserForEach(integers); sqlSession2.close(); } @Test public void delete() { userMapper.deleteOne(2); } @After public void after() { sqlSession.close(); } }