MyBatis核心组件
- SqlSessionFactoryBuilder:“工厂”构造器,根据配置信息或代码生成工厂接口
- SqlSessionFactory:工厂接口,用于生成SqlSession
- SqlSession:用于管理SQL和结果集的上下文变量
- SQL Mapper:新设计的组件,与SqlSession类似,不过Mapper是接口
核心组件的生命周期
- SqlSessionFactoryBuilder:SqlSessionFactoryBuilder的作用是生成工厂接口,用完即可回收,生命周期只存在于方法局部;
- SqlSessionFactory:SqlSessionFactory用于创建SqlSession,应用于MyBatis整个生命周期中;一个数据库连接应该只有一个SqlSessionFactory实例;
- SqlSession:SqlSession的生命周期是在请求数据库处理事务的过程中;它是线程不安全的对象,可以通过ThreadLocal来管理;
- Mapper:Mapper的作用是发送SQL,然后返回相应的结果;它应该在一个SqlSession事务方法之内;
MyBatis配置文件属性一览
- properties
- settings
- typeAliases
- typeHandlers
- objectFactory
- plugins
- environments
- databaseIdProvider
- mappers
需要注意的是上面的顺序是固定的,不能颠倒,否则Mybatis会抛出异常。