MyBatis的核心组件分为4个部分
-
SqlSessionFactoryBuilder(构造器):根据xml或java代码生成SqlSessionFactory。
-
SqlSessionFactory(工厂接口):使用它生成Sqlsession,工厂模式下生成。
-
Sqlsession(会话):可以发送SQL执行返回结果和获取Mapping的接口。在大多数开发中,我们使用MyBatis提供的 SQL Mapping 接口编程技术,这提高了可读性和可维护性。
-
SQL Mapping(映射器):由一个java接口和XML文件(或者是@注解)构成,生成了对应SQL与映射的规则,发送SQL执行并返回结果。
SqlSessionFactory
如何使用MyBatis,首先就是xml或java代码生成SqlSessionFactory,MyBatis给我们提供了SqlSessionFactoryBuilder(构造器),org.apache.ibatis.session.Configuration这个类作为引导,使用的是Builder模式。
在MyBatis中有两种形式生成SqlSessionFactory,一种是XML,一种是java代码实现。这里小编推荐使用XML的形式,也是大多数企业开发的选择。配置XML或java代码后,MyBatis会读取配置文件,通过Configuration类对象构建MyBatis的上下文。
需要提醒大家的是SqlSessionFactory是一个接口,而它的实现类为SqlSessionManager和DefaultSqlSessionFactory两个类。
一般用DefaultSqlSessionFactory,DefaultSqlSessionFactory在多线程中,而它的具体实现依靠DefaultSqlSessionFactory。
使用XML构建SqlSessionFactory
主要分为两类:一类是基础配置文件,通常只有一个,主要配置最基础的上下文参数和运行环境:另一类为映射文件,主要配置映射关系、SQL、参数等。
基础配置文件:一般命名为mybatis-config.xml,放在工程类路径下,下面看一个实例: