mybatis
echola_2020
一个民航业的程序猿。微信公众号:prog1024,微信号:327275033
展开
-
MyBatis系列-整体大纲(1)
写在开头Mybatis作为Java开发人员必备的技能,除了掌握好基本的用法外,还可以通过学习源码来了解作者的设计思路与方法,灵活应用内置的各种工具。Mybatis作为常用框架,相比Spring,代码结构更加简单,代码量相对较少。因此如果第一次系统的研究一个框架的源码,从Mybatis开始无疑是一个好的选择。整体:所在包说明地址org.apache.ibatis.sess...原创 2020-01-17 15:01:42 · 129 阅读 · 0 评论 -
MyBatis系列-MyBatis 源码之Plugins(2)
可以做什么?可以拦截Mybatis的核心操作流程并改造。主要包括对以下接口的以下方法:接口方法描述Executorupdate, query, flushStatements, commit, rollback, getTransaction, close, isClosed覆盖执行SQL的整个过程,包括组装入参、返回的结果集和执行的SQL过程都可进行拦截Par...原创 2020-01-17 14:56:18 · 157 阅读 · 0 评论 -
MyBaits系列-MyBatis源码之Executor(一)(5)
知识点Myabtis有哪些Executor执行器,区别是什么?Mybatis如何配置使用哪种Executor?Mybatis如何实现批处理?Mybatis的主键策略,批量写入,能返回数据库主键么?Executor包的主要结构及其作用Executor 接口及其实现类,使用场景及其调用BaseExecutorBaseExecutor在创建的时候new了一个本地缓存,每次执行que...原创 2020-01-17 14:26:48 · 202 阅读 · 0 评论 -
MyBatis系列-Mybatis源码之 Log的实现流程(4)
本篇文章内容Mybatis的日志如何配置,如何加载配置?核心接口和实现类如何实现只打印SQL,不打印结果集?如何实现只打印部分Mapper的SQL?官方文档:http://www.mybatis.org/mybatis-3/zh/logging.html从配置开始我们从Mybatis配置文件中的日志配置开始,来看看它到底是怎么实现的<configuration>...原创 2020-01-17 14:26:00 · 911 阅读 · 0 评论 -
MyBatis系列-Mybatis 源码之Cache(3)
缓存的使用场景通过复杂业务计算得来的数据,在计算过程中可能耗费大量的时间,需要将数据缓存读多写少的数据缓存设计的要点缓存的容量缓存的有效时间实践中可能存在的问题缓存穿透访问的缓存不存在,直接去访问数据库。通常查找的key没有对应的缓存,可以设计为返回空值,不去查找数据库。缓存雪崩大量的缓存穿透会导致有大量请求,访问都会落到数据库上,造成缓存雪崩。所以如果访问的key在缓...原创 2020-01-17 14:24:40 · 106 阅读 · 0 评论