zoukankan      html  css  js  c++  java
  • mybatis

    执行流程

    首先通过Resources类加载配置好的mybatis.xml配置文件,然后实例化(new)一个SqlSessionFactoryBuilder对象之后调用其build()方法。在build方法里有XMLconfigBuilder的一个对象,调用它的parse()去解析已经加载的配置文件。并将一个存有解析结果的configuration对象作为参数传给build(与上面的build不是同一个,方法的重载)方法,这个build方法会返回一个DefaultSqlSessionFactory对象。

    在得到DefaultSqlSessionFactory对象调用其openSession()方法得到sqlSession。在构建SqlSession的同时还生成transaction(事务)和executor(执行器,用于发送并且执行sql语句)用于后续执行操作。

    二级缓存

    一级缓存:
    mybatis默认开启的sqlSession级别的缓存,会将我们第一次查询的数据放入sqlSession中,在第二次查询时直接从sqlSession中获取。当sqlSession关闭缓存清空,执行增、删、改操作也会使一级缓存失效(如果修改的是缓存中的数据,那么当再次查询时再到缓存中取明显不合适。所以在执行了DML操作后会清空一级缓存)。
    二级缓存:
    二级缓存也叫全局缓存需要手动开启。他是mapper级别的缓存,解决了一级缓存的局限性,可以实现sqlsession之间的资源共享。

    要启动二级缓存只需要在mapper映射文件中加,当然也可以在标签中对二级缓存进行各种设置。

  • 相关阅读:
    67家基金子公司背景脉络梳理
    港股奇葩术语知多少
    68家信托公司7大派系股东分食图谱
    港股术语
    流动性陷阱
    ORACLE归档模式和非归档模式的利与弊
    肥尾效应
    DVP
    金融衍生品如何定价
    绿鞋机制
  • 原文地址:https://www.cnblogs.com/purexww/p/15253108.html
Copyright © 2011-2022 走看看