投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

MyBatis简介

一、什么是MyBatis

它是一个优秀的基于 Java 的持久层框架,它支持定制化 SQL、存储过程以及高级映射等。

MyBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAO), 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java POJOs(Java对象)映射成数据库中的记录。

二、如何安装MyBatis

MyBatis安装简单, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可。

如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:

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

三、MyBatis功能架构

Mybatis的功能架构主要分为三层:  

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

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

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

四、MyBatis优缺点

优点:

1. 简单易学:小且简单。无第三方依赖,安装简单,只要两个jar文件+配置几个sql映射文件即可,好学,好用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

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

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

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

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

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

缺点:

1. 编写SQL语句工作量很大,对于字段多、关联表多时,尤其明显。

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

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

4. 二级缓存机制不佳

转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论