Mybatis
1. Mybatis执行流程
答:
- 首先加载Mybatis的配置文件,读取Mybatis的配置信息。
- 构造SqlSessionFactory会话工厂,通过
SqlSessionFactoryBuilder
根据配置信息生成SqlSessionFactory
实例。 - 会话工厂创建SqlSession
- SqlSession获取Mapper接口的代理对象,然后根据Mapper接口中的方法名找到对应的SQL,执行SQL语句。
- 根据resultMap将查询结果映射为Java对象。
- 使用完毕关闭SqlSession
2. 一级缓存、二级缓存
答:
- 一级缓存: 作用域是
SqlSession
级别(与数据库的一次会话),也就是在同一个SqlSession下可以走缓存。基于HashMap的本地索引,