初识Mybatis(一)了解框架

Mybatis介绍

Mybatis原来是Apache组织的一个开源项目,名为iBatis,2010年由apache software fundation迁移到了Google code,命名为Mybatis.Mybatis是一个开源持久层框架.

Mybatis是一个轻量级的持久层框架,对DAO层进行了很好的封装,特点是灵活,可扩展性强,安全性好,与其他优秀框架整合度比较好

Mybatis总体架构

初识Mybatis(一)了解框架
从图中大致可以看出,吧Mybatis分为7部分
1.Mybatis配置文件:

  • SqlMapConfig.xml:Mybatis核心配置文件:主要配置数据库连接信息,连接池信息等(注意此配置文件名称不能修改,一般放在Src目录下,最终会被加载到classes目录下)
  • Mappern.xml:操作配置文件,此文件主要配置查询参数,sql语句等信息,对命名没有严格规范,使用时候会被加载带核心配置文件中去.

2.SqlSessionFactory

  • 顾名思义是创建sqlSession的工厂,可以通过SqlSessionFactoryBulider获得此对象的生命周期是Mybatis程序运行期间,所以此对象一般在应用中只创建一次,可以将实例用静态方法或者单利模式创建,和Hibernate的SessionFactory有点类似

3.sqlSession对象

  • sqlSession:是线程不安全的,运行在Mybatis中的每个请求线程应该都有自己的sqlSession,每次请求结束后,应该关闭此SqlSession,和Hibernate中session有点类似

4.Executor接口

  • 提供了一系列操作数据库的方法,可以说SqlSession中嵌套着这个接口,获取连接之后,具体干什么事儿就是此接口来调用或者实现

5.MappedStatement对象

  • 从图中可以看出MappedStatement对象的左右两边还对应者两个构件,我们将sql语句,要传入的参数还有要返回的类型传入MappedStatement,从数据库得到数据后,MappedStatement对象会根据返回值,类型等需求,组装好,然后返回给输出层

Mybatis的优点

  1. 易于上手和掌握。

  2. sql写在xml里,便于统一管理和优化。

  3. 解除sql与程序代码的耦合。

  4. 提供映射标签,支持对象与数据库的orm字段关系映射

  5. 提供对象关系映射标签,支持对象关系组建维护

  6. 提供xml标签,支持编写动态sql。