码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis框架简介

时间:2018-03-10 14:12:09      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:支持   应用   移植   分离   比较   tis   基本   XML   缓存   

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框架简介

标签:支持   应用   移植   分离   比较   tis   基本   XML   缓存   

原文地址:https://www.cnblogs.com/zhangzonghua/p/8538689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!