随笔分类 - MyBatis源码分析
摘要:## 1、一级缓存 跟踪BaseExecutor可以看到,在query方法中,实现了缓存逻辑,当缓存不存在的时候,则调用实现类中的doQuery。 创建一级缓存的KEY:  前面的文章已经介绍了MyBatis的基本使用流程,但我们不能仅仅局限于使用,而是应该去横向扩展,往更深的方向研究。今天就先讲解一下MyBatis中的执行器Executor。 我们在CURD的时候,每次都会去获取一个新的SqlSession对象, ![]
阅读全文
摘要:# MyBatis源码之getMapper获取代理对象 下面这句话意思非常明了,就是通过传入接口类型对象,获取接口代理对象。 IUserDao userDao1 = sqlSession1.getMapper(IUserDao.class); 具体的过程如下: 一、首先,调用SqlSession的实
阅读全文
摘要:# MyBatis源码之SqlSession的解读 ## 1、SqlSession的简单使用 首先先说一下SqlSession是什么?SqlSession其实就是对JDBC中Connection的一个封装,简化了对数据库的操作。当你获取到一个SqlSession的时候其实就是获取到一个数据库连接,可
阅读全文
摘要:再次回顾Mybatis的基本用法 1、定义Mapper接口 2、在xml(或注解)中写sql mybatis帮我们屏蔽了所有和数据库相关的操作,我们只需要给他提供参数、sql、标注返回值的类型即可。 通过mapper接口我们可以传递参数、获取返回值;通过xml或者注解我们可以提供需要执行的sql。那
阅读全文