mybatis系列(一)mybatis入门

一、Mybatis简介:

MyBatis 的前身是iBatis,是一个开源项目。ibatis迁移到Google code后,改名为mybatis,并且通过不少版本的优化集合成今天常用的mybatis。

二、Mybatis 优点

MyBatis 是一个优秀的持久层框架,它对 jdbc 的操作数据库的过程进行封装,使开发者只需要关注SQL 本身,而不需要花费精力去处理例如注册驱动、创建 connection、创建 statement、手动设置参数、结果集检索等 jdbc 繁杂的过程代码。
Mybatis 通过 xml 或注解的方式将要执行的各种 statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过 java 对象和 statement 中的 sql 进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射成 java 对象并返回。

三、 Mybatis 原理

mybatis系列(一)mybatis入门_第1张图片

  • mybatis 配置文件,包括 Mybatis 全局配置文件和 Mybatis 映射文件,其中全局配置文件配置了数据源、事务等信息;映射文件配置了 SQL 执行相关的信息。
  • mybatis 通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory,即会话工厂。
  • 通过 SqlSessionFactory,可以创建 SqlSession 即会话。Mybatis 是通过 SqlSession来操作数据库的。
  • SqlSession 本身不能直接操作数据库,它是通过底层的 Executor 执行器接口来操作数据库的。Executor 接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)。
  • Executor 执行器要处理的 SQL 信息是封装到一个底层对象MappedStatement 中。该对象包括:SQL 语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括 java 的简单类型、HashMap 集合对象、POJO 对象类型。

你可能感兴趣的:(spring全家桶,mybatis,java)