SqlSessionTemplate是个线称安全的类,每运行一个SqlSessionTemplate时,它就会重新获取一个新的SqlSession,所以每个方法都有一个独立的SqlSession,这意味着它是线称安全的。 上一篇文章已经介绍过MyBatis-Spring项目的搭建过程,本节按照前面介 ...
分类:
数据库 时间:
2018-09-30 14:44:02
阅读次数:
202
主题 之前学习了一下MapperProxy的生产过程,自定义Mapper类的对象是通过动态代理生产的,调用自定义方法的时候实际上是调用了MapperMethod的execute方法:mapperMethod.execute(sqlSession, args);所以想再简单学习记录下MapperMet ...
分类:
移动开发 时间:
2018-09-27 20:41:18
阅读次数:
193
上一篇[MyBatis框架原理2:SqlSession运行过程][1]介绍了MyBatis的工作流程,其中涉及到了MyBatis缓存的使用,首先回顾一下工作流程图: 如果开启了二级缓存,数据查询执行过程就是首先从二级缓存中查询,如果未命中则从一级缓存中查询,如果也未命中则从数据库中查询。MyBati ...
分类:
其他好文 时间:
2018-09-22 00:58:11
阅读次数:
177
1、今天重点:Mybatis整合spring 整合思路: a、SqlSessionFactory对象应该放到spring容器中作为单例存在。 b、传统dao的开发方式中,应该从spring容器中获得sqlsession对象。 c、Mapper代理形式中,应该从spring容器中直接获得mapper的 ...
分类:
其他好文 时间:
2018-09-15 00:39:19
阅读次数:
194
1、一级缓存 MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的。即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数, 只会进行一次数据库查询,然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。 ? 但是不同的 ...
分类:
其他好文 时间:
2018-09-12 16:57:42
阅读次数:
161
Dao开发方法 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法。 先介绍几个概念 a、SqlSession的使用范围 SqlSession中封装了对数据库的操作,如:查询、插入、更新、删除等。 通过SqlSessionFactory创建SqlSessio ...
分类:
其他好文 时间:
2018-09-09 18:03:16
阅读次数:
174
1.MyBatis架构(简单介绍MyBatis的流程) 接下来简单介绍一下这张图:首先明确我们的目的就是要创建sqlsession然后利用这个对象去执行sql 完成CRUD。创建sqlsession的前提就是用session工厂去创建,利用工厂创建需要原材料啊,所以最顶端的MyBatis配置文件就是 ...
分类:
其他好文 时间:
2018-09-02 23:56:32
阅读次数:
274
一.整体步骤 1.读取全局配置文件“SqlMapConfig.xml” 2.用SqlSessionFactoryBuilder来创建一个SqlSessionFactory 3.用创建好的SqlSessionFactory创建一个SqlSession 4.用创建好的SqlSession来读取对应的映射 ...
分类:
编程语言 时间:
2018-09-02 17:17:42
阅读次数:
184
但凡使用mybatis,同时与spring集成使用时,接下来要说的这个问题是躲不了的。众所周知,mybatis的SqlSessionFactory在获取一个SqlSession时使用默认Executor或必须要指定一个Executor,这样一来,在同一个SqlSession的生命周期中,要想切换Ex ...
分类:
其他好文 时间:
2018-08-30 12:55:52
阅读次数:
1134
1 二级缓存简介 二级缓存是在多个SqlSession在同一个Mapper文件中共享的缓存,它是Mapper级别的,其作用域是Mapper文件中的namespace,默认是不开启的。看如下图: 整个流程是这样的(不考虑第三方缓存库): 当开启二级缓存后,在配置文件中配置<setting name=" ...
分类:
其他好文 时间:
2018-08-29 14:19:58
阅读次数:
360