![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
fly丶
记录平时的工作心得,和自己学习的一些新东西。
展开
-
mybatis一级缓存详解
1.mybatis一级缓存一级缓存: sqlSession缓存 [会话缓存]。默认开启,用户不能关闭(有方法让其失效)。通过同一个sqlSession调用同一个查询方法两次,第二次查询走的缓存。下面我们就看看一级缓存怎么保存的?在创建sqlSession的时候会创建ExecutorBaseExecutor里有个属性localCache就是保存一级缓存内容的public abstract...原创 2019-12-14 21:10:45 · 309 阅读 · 1 评论 -
mybatis源码分析(上)
在了解mybatis之前,我们先来看看原始jdbc操作数据库需要哪些步骤: Class.forName("com.mysql.jdbc.Driver"); //1.加载驱动 Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/kkb","root","123"...原创 2019-12-05 22:25:20 · 193 阅读 · 0 评论 -
mybatis简单插件用法
mybatis的插件开发:主要就是实现拦截器,mybatis在创建四大神器的时候会将我们的拦截器逻辑通过代理的方式植入进去。mybatis在创建Executor,StatmentHandler,ParameterHandler,ResultHandler这四个对象的时候都会有这个处理逻辑: interceptorChain.pluginAll(resultSetHandler)下面看其中两个...原创 2019-12-09 18:08:28 · 139 阅读 · 0 评论 -
mybatis源码分析(下)
上篇我感觉逻辑有点乱,开篇先理理主要逻辑:1.加载配置,构造Configuration对象2.创建DefaultSqlSessionFactory工厂3.通过DefaultSqlSessionFactory.openSession()创建DefaultSqlSession对象,同时会创建Executor,设置到SqlSession属性中。4.通过sqlSession.getMapper()...原创 2019-12-09 16:13:28 · 102 阅读 · 0 评论