MyBatis简介

1、What is  MyBatis

    MyBatis支持普通sql查询,MyBatis是一个持久层框架,支持定制化(按开发需求编写)SQL,支持存储及高级映射。MyBatis不像JDBC代码,手动设置参数及获取结果集。它可以对配置和原生Map使用简单的XML或注解,将接口和普通的java对象映射成数据库中的记录。

MyBatis&Hibernate

mybatis提供一种“半自动化”的ORM实现。

这里的半自动化是相对Hibernate等提供了全面的数据库封装机制的全自动化ORM实现而言,全自动ORM实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。

而mybatis的着力点在于POJO与SQL之间的映射关系。

2、How to install Mybatis

    要使用MyBatis,只需要将jar包文件置于classpath中就可以了。

如果使用Maven来构建项目,只需要将下面的dependency代码置于pom.xml文件中就OK了

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>xxxxxx</version>
</dependency>

3、Functional architenture of MyBatis

    我们把MyBatis的功能架构分为三层:

    a、API接口数据层:提供给外部使用的接口API,开发人员通过API来操作数据库。接口层收到调用请求就会调用数据处理层来完成具体的数据处理。

    b、数据处理层:主要负责SQL的查找、解析、执行和执行结果映射处理等。主要目的是根据调用的请求完成一次数据库操作。

    c、基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理。这些都是共用的东西,将他们抽取出来作为最基础的组件、为上层数据处理层提供最基础的支撑。

4、MyBatis的优缺点

优点:

  • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 
  • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。 
  • 解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。 
  • 提供映射标签,支持对象与数据库的orm字段关系映射 
  • 提供对象关系映射标签,支持对象关系组建维护 
  • 提供xml标签,支持编写动态sql。 

缺点:

  • 编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。 
  • SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。 
  • 框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。 
  • 二级缓存机制不佳 

转载于:https://my.oschina.net/inchlifc/blog/1575109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值