关于mybatis中的缓存
mybatis中默认sqlsession缓存开启
同一个sqlsession队象 调用同一个select时 只有第一次访问数据库 第一次之后把查询结果缓存到sqlsession缓存区中, 缓存的是statement队象, 一个<select>
对应一个statement队象
sqlsessionfactory缓存(二级缓存)同一个factory中那个sqlsession缓存中都可以获取
流程
- 去缓存区中查找是否存在statement对象
- 返回结果
- 不存在,就去查询数据库
- 数据库返回查询结果
- 把查询结果放入缓存中