mybatis 之 mybatis缓存

  1. mybatis同样有一级缓存和二级缓存。
  2. 一级缓存指在session的范围中同样的statement的id只会查询一次。
    @Test
        public void testFindById(){
            List<Integer> list = new ArrayList<Integer>();
            list.add(1);
            list.add(3);
            List<User> users= session.selectList("cn.wh.mapper.UserMapper.findUserByCondition",list);
            for(User user:users)
            System.out.println(user);
            System.out.println("=======================");
            List<User> lists= session.selectList("cn.wh.mapper.UserMapper.findUserByCondition",list);
            for(User user:lists)
            System.out.println(user);
        }
  3. 二级缓存指 sessionFactory级别的缓存,二级缓存需要实体类被序列化,并且需要在配置文件中添加cache配置,在mybatis二级缓存缓存的时文件。
    <cache
            eviction="FIFO"
            flushInterval="60000"
            size="512"
            readOnly="true"/>
原文地址:https://www.cnblogs.com/forever2h/p/6796520.html