六、持久层框架设计实现及MyBatis源码分析-MyBatis基础回顾及高级应用-MyBatis相关概念回顾(一)

基于前面章节的基础,我们实现了一个Mybatis框架的雏形,在完成了MyBatis雏形的基础之上,会对我们后续的MyBatis源码剖析的课程有一个极大的帮助,当然我们之前自定义持久层框架的功能并不是很完善,所以我们在实际应用当中还是会运用MyBatis,所以我们还是需要把关注点放到MyBatis之上

一、首先我们来了解一下MyBatis的相关概念

众所周知,MyBatis是一持久层框架,但是只知道是一个持久层框架是远远不够的,我们还需要知道具体的特点,MyBatis是一个基于ORM半自动轻量级持久层框架

1、什么是ORM呢?

ORM全称Object/Relation Mapping:表示对象-关系映射的缩写

ORM完成⾯向对象的编程语⾔到关系数据库的映射。当ORM框架完成映射后,程序员既可以利⽤⾯向对象程序设计语⾔的简单易⽤性,⼜可以利⽤关系数据库的技术优势。ORM把关系数据库包装成⾯向对象的模型。ORM框架是⾯向对象设计语⾔与关系数据库发展不同步时的中间解决⽅案。采⽤ORM框架后,应⽤程序不再直接访问底层数据库,⽽是以⾯向对象的放松来操作持久化对象,⽽ORM框架则将这些⾯向对象的操作转换成底层SQL操作。ORM框架实现的效果:把对持久化对象的保存、修改、删除等操作,转换为对数据库的操作

通俗的讲ORM就是对象关系映射,通过对象关系映射,可以将我们对数据库的操作转换成基于面向对象的操作,对数据库的操作,就是对对象的操作

2、半自动指的又是什么呢?

半自动就是在使用MyBatis的过程当中,我们还需要手动编写SQL语句,有半自动就有全自动,都是相对而言的,如我们熟知的Hibernate就属于全自动持久层框架,在使用Hibernate的时候,我们可以无需编写SQL语句,只需操作持久化对象,就可完成对数据库表的增删改查操作,两个框架都有相对的优势和缺点,使用全自动框架由于底层已经完成了对SQL语句的封装,所以我们失去了对SQL进行优化的权力,使用半自动框架,我们需要手动编写SQL语句,我们可以对自己编写的SQL语句进行进一步的优化,执行效率会比全自动框架的高一些

3、什么是轻量级

轻量级指的就是框架在启动的过程当中所耗费资源的多少,像之前的EJB启动的时候耗费的资源较多,所以我们称之为重量级框架,现在市面上较多的都是轻量级的框架了,启动的时候耗费的资源都较少,而MyBatis就是一个轻量级的持久层框架

MyBatis底层还是对JDBC代码的一个封装,在封装的过程当中,MyBatis将JDBC存在的一些问题(硬编码、频繁创建数据库连接,手动封装返回结果集和设置参数等)进行了规避

在使用MyBatis的过程中,我们会基于映射配置文件和基于注解两种方式进行使用,接下来的学习也会将两种方式都进行学习和介绍

二、MyBatis历史

原是apache的⼀个开源项⽬iBatis, 2010年6⽉这个项⽬由apache software foundation 迁移到了google code,随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis ,代码于2013年11⽉迁移到Github。

iBATIS⼀词来源于“internet”和“abatis”的组合,是⼀个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

三、MyBatis优势

Mybatis是⼀个半⾃动化的持久层框架,对开发⼈员开说,核⼼sql还是需要⾃⼰进⾏优化,sql和java编码进⾏分离,功能边界清晰,⼀个专注业务,⼀个专注数据。

分析图示如下:

MyBatis优势分析图示.png

上一篇笔记地址:https://www.jianshu.com/p/d41016b44c42

下一篇笔记地址:https://www.jianshu.com/p/165be4dcf424

具体代码对应下载地址:https://gitee.com/happymima/mybatis.git

你可能感兴趣的:(六、持久层框架设计实现及MyBatis源码分析-MyBatis基础回顾及高级应用-MyBatis相关概念回顾(一))