mybatis中的缓存问题解析-创新互联

关于mybatis基础我们前面几篇博客已经介绍了很多了,今天我们来说一个简单的问题,那就是mybatis中的缓存问题。mybatis本身对缓存提供了支持,但是如果我们没有进行任何配置,那么默认情况下系统只开启了一级缓存,一级缓存就是同一个SqlSession执行的相同查询是会进行缓存的,OK,那么今天我们就来看看这些缓存,并简单验证下。

创新互联公司客户idc服务中心,提供服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。

系统默认开启了一级缓存

这个缓存系统默认情况下是开启的,当我们获取到一个SqlSession对象之后,如果调用SqlSession中的同一个方法查询同一条数据,那么第二次查询将不会去数据库中查询,因为第一次查询有缓存,直接调用缓存数据即可,除非缓存超时或者我们明确声明数据要刷新,否则都是直接调用缓存数据。OK,我们来看一个简单的案例。
查询代码如下:

SqlSession sqlSession = null;
    try {
      sqlSession = DBUtils.openSqlSession();
      UserMapper mapper = sqlSession.getMapper(UserMapper.class);
      //查询同一条数据时会缓存
      User user = mapper.getUser(1l);
      User user2 = mapper.getUser(1l);
      System.out.println(user.toString());
      System.out.println(user2.toString());
      sqlSession.commit();
    } catch (Exception e) {
      System.err.println(e.getMessage());
      sqlSession.rollback();
    } finally {
      if (sqlSession != null) {
        sqlSession.close();
      }
    }

网站栏目:mybatis中的缓存问题解析-创新互联
文章起源:https://www.cdcxhl.com/article44/dpishe.html

成都网站建设公司_创新互联,为您提供电子商务移动网站建设App设计网站导航网站收录品牌网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作