Mybatis框架简介

Posted zhangzonghua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis框架简介相关的知识,希望对你有一定的参考价值。

1. 什么是Mybatis 

  Mybatis 本是Apache 的一个开源项目IBatis,2010年这个项目由 Apache software foundation 迁移到 Google code ,并且改名Mybatis,同时也对其进行了改进。

Mybatis 是一个支持定制化 SQL、存储过程以及高级映射的优秀持久层框架,Mybatis 几乎避免了所有的JDBC 代码和手工设置参数以及抽取结果集。Mybatis使用

简单的xml 文件或者注解来配置和映射基本体将接口和java的POJOs( Plain old java Objects,即普通的java对象),映射成数据库的记录。

 

Mybatis 的框架架构:

  技术分享图片技术分享图片

 

 

原理解析: 

  Mybatis应用程序根据xml 配置文件创建 SqlSessionFactoryBuilder ,SqlSessionFactoryBuilder 在通过build(Read reda) 获取SqlSessionFactory,SqlSessionFactory

再根据配置获取SqlSession 对象,配置的来源有两个地方:配置文件和java代码注解, SqlSession包含了执行sql 所需要的所有方法,通过SqlSession实例直接运行映射的sql语句,完成对数据的增删改查和事务提交等,用完之后关闭SqlSession。

Mybatis的优点:

  1.简单易学:

    Mybatis 本身就很小而且简单,没有第三方依赖(可以单独使用,当然更多的是配合Spring 框架使用),最简单的安装只需要3 个jar 包(mybatis、 ojdbc 、commons-dbcp,可以从网上下载)和几个配置文件(自己配置)就可以使用。

  2.灵活:

    mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。

  3.接除sql与程序代码的耦合:

    通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

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

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

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

 

Mybatis的缺点:

 

  1、编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。

  2、SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。

 

  3、框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

 

  4、二级缓存机制不佳

 

以上是关于Mybatis框架简介的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis框架简介

MyBatis 框架简介

MyBatis框架简介

Mybatis框架简介搭建及核心元素讲解

mybatis框架简介

持久化框架Mybatis简介与原理