一、Mybatis 介绍

Mybatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Mybatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。Mybatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

二、Mybatis 的使用

Mybatis 的使用可以分为以下几步:

1、配置 Mybatis 的全局配置文件,也就是 mybatis-config.xml,在这个文件中可以配置 Mybatis 的环境及全局属性;

2、配置 Mybatis 映射文件,也就是 *.xml 文件,在这个文件中可以配置 SQL 语句;

3、编写 JavaBean,也就是 POJO,用于封装数据;

4、编写接口,用于定义 SQL 映射文件中的 SQL 语句;

5、编写测试类,用于测试 Mybatis 的使用;

6、编写 SqlSessionFactory,用于构建 SqlSession 实例;

7、编写 SqlSession,用于与数据库进行交互;

8、编写 MapperProxy,用于调用接口中的方法;

9、编写 Executor,用于执行 SQL 语句;

10、编写 ResultSetHandler,用于处理结果集。

三、Mybatis 与 Spring 整合原理

Mybatis 与 Spring 整合的原理是:Mybatis 的 SqlSessionFactoryBean 继承自 SqlSessionFactory,而 SqlSessionFactory 实现了 FactoryBean 接口,因此可以用 Spring 的 IoC 容器来管理 SqlSessionFactoryBean 实例,从而实现 Mybatis 与 Spring 的整合。

Mybatis 与 Spring 整合的过程如下:

1、在 Spring 配置文件中配置 DataSource,SqlSessionFactory 和 MapperScannerConfigurer;

2、通过 DataSource 创建 SqlSessionFactory;

3、通过 MapperScannerConfigurer 扫描指定的接口,生成代理对象;

4、将代理对象注入到 Spring 的 IoC 容器中;

5、在应用中使用 Spring 的 IoC 容器获取 Mapper 接口的代理对象。