package me.gacl.test; import me.gacl.domain.User; import me.gacl.util.MyBatisUtil; import org.apache.ibatis.session.SqlSession; import org.junit.Test; public class TestOneLevelCache { @Test public void testCache1(){ SqlSession session = MyBatisUtil.getSqlSession(); String statement = "me.gacl.mapping.userMapper.getUser"; User user = session.selectOne(statement,1); System.out.println(user); /** * 一级缓存默认会被使用 */ user = session.selectOne(statement, 1); System.out.println(user); session.close(); /** * 1.必须是同一个session,如果session对象已经close()过了就 不可能用了 */ session = MyBatisUtil.getSqlSession(); user = session.selectOne(statement, 1); System.out.println(user); /** * 2.查询条件是一样的 */ user = session.selectOne(statement,2); System.out.println(user); /** * 3.没有执行session.clearCache()清理完毕 * */ user = session.selectOne(statement, 2); System.out.println(user); /** * 4.没有执行过增删改的操作(这些操作都会清理缓存 ) */ session.update("me.gacl.mapping.userMapper.updateUser", new User(2,"user",23)); user = session.selectOne(statement, 2); System.out.println(user); } }