可以说每个MyBatis都是以一个SqlSessionFactory实例为中心的。SqlSessionFactory实例可以通过SqlSessionFactoryBuilder来构建。一是可以通过XML配置文件的方式来构建SqlSessionFactory,二是可以通过Java API的方式来构建。 ...
分类:
数据库 时间:
2019-11-27 11:58:43
阅读次数:
77
一级缓存分析 一级缓存是SqlSession范围的缓存,当调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清空一级缓存。 二级缓存 第一步 默认为true 可以不配置 第二步 实体对象xml配<cache/>开启二级缓存 第三步 配置userCache=“t ...
分类:
其他好文 时间:
2019-11-22 23:36:33
阅读次数:
72
Mybatis源码解析(四) —— SqlSession是如何实现数据库操作的? 如果拿一次数据库请求操作做比喻,那么前面3篇文章就是在做请求准备,真正执行操作的是本篇文章要讲述的内容。正如标题一样,本篇文章最最核心的要点就是 SqlSession实现数据库操作的源码解析。但 ...
分类:
数据库 时间:
2019-11-22 10:33:44
阅读次数:
77
在工作中,使用mybatis操作数据库,只需要提供一个接口类,定义一些方法,然后调用接口里面的方法就可以CRUD,感觉是牛了一逼! 该篇就是记录一下,mybatis是如何完成这波骚操作的,即分析我们测试代码的第4行。 FemaleMapper femaleMapper = sqlSession.ge ...
分类:
移动开发 时间:
2019-11-18 23:28:01
阅读次数:
176
//IStudentDao.xml @Override public List<Student> selectStudentByName(String name) { SqlSession sqlSession = null; List<Student> list = null; try { sql ...
分类:
其他好文 时间:
2019-11-15 11:54:38
阅读次数:
114
package com.atguigu.mybatis.dao; import com.atguigu.mybatis.bean.Employee; /** * @Author 谢军帅 * @Date2019/11/11 16:16 * @Description */ public interfac ...
分类:
数据库 时间:
2019-11-11 18:36:54
阅读次数:
103
SqlSessionFactoryBuilder (构造器) 会根据配置或者代码来生成SqlSessionFactory SqlSessionFactory (工厂接口) 以后他来生成SqlSession SqlSession (会话) 一个既可以发送SLQ执行返回结果,也可以获取Mapper的接口 ...
分类:
其他好文 时间:
2019-11-06 22:51:07
阅读次数:
96
1. 应用程序和数据库交互的过程是一个相对比较耗时的过程。 2. 缓存存在的意义 :让应用程序减少对数据库的访问,提升程序运行效率。 3. MyBatis 中默认SqlSession 缓存开启 3.1同一个 SqlSession 对象调用同一个\时,只有第一次访问数据库,第一次之后把查询结果缓存到S ...
分类:
其他好文 时间:
2019-11-05 15:12:30
阅读次数:
68
将上一次的查询结果保存在内存中,后面如果是相同的查询,就不再去数据库查询,到内存中获取数据。如果中间进行了增、删、改,需要清空缓存中的数据。 好处: 提高查询速度,减小数据库服务器压力 Mybatis中的查询缓存: 一级查询缓存 如果使用的是同一个SqlSession对象中【没有被关闭过close( ...
分类:
其他好文 时间:
2019-11-02 00:36:18
阅读次数:
122
通过上面运行案例-查询用户表中的记录数。 非集成环境下的最佳作用域范围: SqlSessionFactoryBuilder 用过即丢,推荐作用域在方法体内。 SqlSessionFactory 最佳作用域范围:应用的全局作用域 生命周期应与应用的生命周期相同 SqlSession 线程级 一个req ...
分类:
其他好文 时间:
2019-10-31 22:01:07
阅读次数:
71