依赖:

  1. <!--导入依赖-->
  2. <dependencies>
  3. <!--mysqlq驱动-->
  4. <dependency>
  5. <groupId>mysql</groupId>
  6. <artifactId>mysql-connector-java</artifactId>
  7. <version>8.0.12</version>
  8. </dependency>
  9. <!--mybatis-->
  10. <dependency>
  11. <groupId>org.mybatis</groupId>
  12. <artifactId>mybatis</artifactId>
  13. <version>3.5.4</version>
  14. </dependency>
  15. <!--junit-->
  16. <dependency>
  17. <groupId>junit</groupId>
  18. <artifactId>junit</artifactId>
  19. <version>4.12</version>
  20. <scope>test</scope>

(最新的大概是3.5.6)

使用


MyBatis - 图1

工作原理:

MyBatis - 图2

  • 读取配置文件 -> mybatis-config.xml为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,例如数据库连接信息
  • 加载 SQL 映射文件 -> 配置了操作数据库的SQL语句.需要在 MyBatis 配置文件 mybatis-config.xml 中加载。mybatis-config.xml 文件可以加载多个映射文件,每个文件对应数据库中的一张表
  • 构造SqlSessionFactory
  • 创建SqlSession, 该对象中包含了执行SQL的方法
  • Executor执行器根据 SqlSession 传递的参数动态地生成需要执行的 SQL 语句,同时负责查询缓存的维护。
  • MappedStatement 对象:在 Executor 接口的执行方法中有一个 MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的 SQL 语句的 id、参数等信息。
  • 输入参数映射:输入参数类型可以是 Map、List 等集合类型,也可以是基本数据类型和 POJO 类型。输入参数映射过程类似于 JDBC 对 preparedStatement 对象设置参数的过程。
  • 输出结果映射:输出结果类型可以是 Map、 List 等集合类型,也可以是基本数据类型和 POJO 类型。输出结果映射过程类似于 JDBC 对结果集的解析过程。