Mybatis入门
Mybatis构成
SqlSession的作用
映射器
生命周期
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession
Mapper
配置
properties元素
Mybatis支持的配置方式可能同时出现,所以MyBatis按照顺序去加载
别名
系统定义别名
自定义别名
typeHandler类型处理器
枚举类型typeHandler
objectFactory
缓存cache
开启二级缓存后,会使用CachingExecutor装饰Executor,进入一级缓存的查询流程前,会先CachingExecutor进行二级缓存的查询。二级缓存开启后,同一个namespace下面的所有操作预计,都影响着同一个Cache。即二级缓存被多个sqlsession共享,是一个全局变量
MyBatis的解析和运行原理
Mapper的接口实现方式?
构建SqlSessionFactory过程
SqlSession运行过程
SqlSession下的四大对象
- 执行器
真正执行Java和数据库交互的东西。在Mybatis中存在三种执行器 - Simple就是普通的执行器。
- REUSE执行器会重用预处理语句
- BATCH执行器将重用语句并执行批量更新。
- 数据库会话器
- 数据库会话器就是专门处理数据库会话的。
- Executor会先调用StatementHandler的prepare()方法预编译sql语句,同事设置一些基本运行参数。然后用parameterize()方法启用parameterHandler设置参数,完成预编译,而update()也是这样的,最后如果需要查询,就采用ResultSetHandler封装结果返回给调用者
- 参数处理器
- Mybatis是通过ParameterHandler对预编译语句进行参数设置。它的作用是完成对预编译参数的设置
- 结果处理器
-
ResultSetHandler是结果处理器的接口定义。