1.1、Mybatis一级缓存测试

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);
        
    
    }

}

 

---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
原文地址:https://www.cnblogs.com/zzzzw/p/5274775.html