缓存 众所周知的,MyBatis 内置了二级缓存,对于一级缓存是默认打开的,而二级缓存需要手动开启。 接下来,我们探索一下MyBatis的缓存。 首选在官方文档中,我们可以找到MyBatis的相关配置: 全局配置: cacheEnabled … 继续阅读 MyBatis 的秘密(六)缓存
月份:2019年11月
MyBatis 的秘密(五)整体流程图
执行流程图 通过前面的分析,我们梳理了MyBatis从调用方法到返回结果的整个流程,这里我们简单的做一个总结: 先上图,按道理来说时序图应该是最合适的,但是我觉得上面的文字过多。接下来结合上面的图详细说说MyBatis从启动到返回结果的流程 … 继续阅读 MyBatis 的秘密(五)整体流程图
MyBatis 的秘密(四)ResultSetHandler
ResultHandler 前面说过,StatmentHandler最后在处理查询结果的时候,会调用ResultSetHandler处理结果,在看完ResultSetHandler之后,本来想分析一下它的代码,但是存在两个问题: 由于涉及到 … 继续阅读 MyBatis 的秘密(四)ResultSetHandler
MyBatis 的秘密(三)StatementHandler
StatementHandler 前面我们说过,Executor 的主要职责是执行底层映射语句。 但是通过源码我们可以发现,Executor执行的这些功能,都是通过StatementHandler来完成的,Executor只是负责缓存或者选 … 继续阅读 MyBatis 的秘密(三)StatementHandler
MyBatis 的秘密(二)Executor
Executor 在MyBatis中有关Executor的配置如下: 设置名 描述 有效值 默认值 defaultExecutorType 配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(prepare … 继续阅读 MyBatis 的秘密(二)Executor
MyBatis 的秘密(一)Transaction
public List<Country> selectById()throws IOException { try (Reader reader = Resources.getResourceAsReader(“mybatis- … 继续阅读 MyBatis 的秘密(一)Transaction
MyBatis 源码解析(七)MyBatis如何解析配置 ?(七)
最后还剩sql和select|insert|update|delete 先看sql: XMLMapperBuilder###sqlElement() private void sqlElement(List<XNode> lis … 继续阅读 MyBatis 源码解析(七)MyBatis如何解析配置 ?(七)
MyBatis 源码解析(六)MyBatis如何解析配置 ?(六)
XMLMapperBuilder###parameterMapElement() //代码比较长了,因为parameterMap 涉及到比较多的东西 // <resultMap id=”userMap” type=”com.test. … 继续阅读 MyBatis 源码解析(六)MyBatis如何解析配置 ?(六)
MyBatis 源码解析(五)MyBatis如何解析配置 ?(五)
配置解析最后一篇,MyBatis解析mapper: // <mappers> // <mapper resource=”com/test/demo/mapper/CountryMapper.xml”/>- // &l … 继续阅读 MyBatis 源码解析(五)MyBatis如何解析配置 ?(五)
MyBatis 源码解析(四)MyBatis如何解析配置 ?(四)
这篇博客是对MyBatis解析配置文件的第三部分,不出意外应该是最后一篇,今天我们来分析类型处理器和Mapper映射 在看类型处理器之前,我们需要了解一个小知识,那就是JdbcType,JdbcType是MyBatis里面的一个枚举类型,看 … 继续阅读 MyBatis 源码解析(四)MyBatis如何解析配置 ?(四)