目录
1、MyBatis缓存
1.1 一级缓存
1.2 二级缓存
1.2.1 MyBatis实现
1.2.2 第三方实现
2、高级查询
2.1 数据模型
2.2 创建数据库表
2.3 一对一查询
2.3.1 第一种方式
2.3.2 第二种方式
2.4 一对多查询
2.5 多对多查询
2.6 延迟加载
3、分页插件
1、MyBatis缓存
1.1 一级缓存
MyBatis的一级缓存的作用域是session,当openSession()后,如果执行相同的SQL(相同语句和参数),MyBatis不再执行SQL,而是从缓存中命中返回。
原理:Mybatis执行查询时首先去缓存区命中,如果命中直接返回,没有命中则执行SQL,从数据库中查询。
- 使用session.clearCache()清空缓存,强制查询不缓存。
- 在执行insert、update、delete时会清空缓存。
测试正常的一级缓存:
调用clearCache()方法强制清空缓存: