zoukankan      html  css  js  c++  java
  • 1.2、Mybatis二级缓存测试

    package me.gacl.test;
    
    import me.gacl.domain.User;
    import me.gacl.util.MyBatisUtil;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.junit.Test;
    
    /**
     * @author gacl
     * 测试二级缓存
     */
    public class TestTwoLevelCache2 {
        
        /*
         * 测试二级缓存
         * 使用两个不同的SqlSession对象去执行相同查询条件的查询,第二次查询时不会再发送SQL语句,而是直接从缓存中取出数据
         */
        @Test
        public void testCache2() {
            String statement = "me.gacl.mapping.userMapper.getUser";
            SqlSessionFactory factory = MyBatisUtil.getSqlSessionFactory();
            //开启两个不同的SqlSession
            SqlSession session1 = factory.openSession();
            SqlSession session2 = factory.openSession();
            //使用二级缓存时,User类必须实现一个Serializable接口===> User implements Serializable
            User user = session1.selectOne(statement, 1);
            session1.commit();//不懂为啥,这个地方一定要提交事务之后二级缓存才会起作用
            System.out.println("user="+user);
            
            //由于使用的是两个不同的SqlSession对象,所以即使查询条件相同,一级缓存也不会开启使用
            user = session2.selectOne(statement, 1);
            //session2.commit();
            System.out.println("user2="+user);
        }
    }
    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    VS注释提示英文变中文的方法
    Windows 10安裝.net Framework 3.5出現0X800F0954錯誤
    NodeJS+NPM+Bower+Android环境安装配置
    复合索引
    高并发的核心技术-幂等的实现方案
    Redis初使用
    数据库SQL查找包含某列的所有table
    多线程中的wait与sleep到底谁释放了锁
    https配置
    iOS下的实际网络连接状态检测(转)
  • 原文地址:https://www.cnblogs.com/zzzzw/p/5274855.html
Copyright © 2011-2022 走看看