深入浅出 最新版 MyBatis-3.5.6_ 1. 认识 MyBatis

一、什么是 MyBatis

MyBatis 是一个优秀的 ORM(Object Relational Mapping 对象关系映射) 框架,介绍完毕。

其实介绍 MyBatis 不需要说太多,有这一句就足够了,好的产品无需过多的描述,简单一句话可以概况他的强大,当然,我们是第一次接触这个 MyBatis,当然不能就这一句话就给他说完了

剩下的我们通过百科还有它的官网去了解他。

先来上百科

可以看到,MyBatis 是 Apache 的一个开源项目,2010 年前移到了谷歌,当然,这个都是历史,大家知道一下,然后就没有了,我们接着往下翻翻

我们主要是看下面这些,MyBatis 是支持普通的 SQL 查询,也就是说,我们可以自己写 SQL

但是这里有人会问了,我们之前使用 JDBC 的时候,不也是自己写 SQL 吗?到头来还是写 SQL,费劲死了

其实不然,后面我会解释具体原因 ~~~

接着往下看,MyBatis 使用简单的 XML 和 注解,将接口、和Java的 POJO(POJO 就是对象实体,好比 Student、Teacher 类)映射成数据库中的记录。

可能有人理解不了,我们这个现在解释也解释不清楚,后面我们一边学习,一边理解这句话,就会明白了~

再往下翻翻,我们可以看到一个这个东西

这个动态 SQL 可以说是 MyBatis 最强大的特性之一。当然啊,我们也是后面慢慢去讲述这个东西,先知道一下这个名词。然后带着问题去学习,这样会更好。

百科看完,我们再去它的官网看看。

官网地址:https://mybatis.org/mybatis-3/

进去后可以看到一个这个东西

嗯,非常好,我们直接选择这个简体中文!

选择之后,我们看一下 MyBatis 的 logo

一个红色的小鸟,很可爱啊,当然,这都是次要的,我们主要来看他首页的介绍

可以看到,官网的介绍更吊,就这几句话,可以说概括了它的所有。

二、对比其他的 ORM

除去这个 MyBatis 之外,还有很多其他的 ORM,这里我们就来说说他们

1. hibernate

官网地址:http://hibernate.org/

logo:

特点:

  • 完全面向POJO,不再需要编写SQL就可以通过映射关系来操作数据库,是一种全表映射的体现
  • 所以对于性能要求不太苛刻的系统,比如管理系统、ERP 等推荐使用Hibernate

优点:

  • 同时提供了日志、缓存、级联(级联比MyBatis强大)等特性,此外还提供HQL (Hibernate Query Language)对POIO进行操作,使用十分方便。
  • 对对象的维护和缓存要比MyBatis好
  • 数据库移植性很好
  • Hibernate有更好的二级缓存机制,可以使用第三方缓存
  • 可以自动生成SQL语句,自动执行
  • Hibernate是一个没有侵入性的框架

缺点:

  • 由于无须SQL,当多表关联超过3个的时候,通过Hibernate的级联会造成太多性能的丢失

体验:

我之前使用过很长一段时间的 hibernate,相比 MyBatis,这个 hibernate 可以说是相对方便很多,尤其是对于我们当时上学时,写的一些 Demo,因为没有复杂的查询,所以使用这个非常好,但是从接触工作之后,我再也没有用过它。

原因很简单,工作中复杂查询经常出现,有的时候光 SQL 就得写100多行,关联的表、条件更是非常多,所以说用 hibernate 就不是特别好。

2. Spring JDBC

这个框架是 Spring 开发的一套框架,可以说是将 JDBC 进行封装,使用也和 JDBC 及其类似。

之前学习的时候因为也遇到过这个框架,所以也看了看。

体验:我个人感觉这个框架也不错,虽然说现在不是主流框架,但是在 Spring 一统江山的年代,我相信它也会有一天挤入到主流的行列。

3. Spring Data Jpa

这个同样,也是属于 Spring 提供的一套框架,这套框架是整合了 hibernate 框架,所以优缺点和 hibernate 类似,不做过多的评论。

体验:之前读书时候,也用过这个框架,感觉和 hibernate 非常类似。

4. Mybatis-Plus

这套框架是在 MyBatis 框架之上封装的一套框架,可以说是优化了 MyBatis 之前的不足,并且让 MyBatis 更强大了,我们后期也会学习这个的。

官网:https://mp.baomidou.com/

大家可以先去看看介绍:https://mp.baomidou.com/guide/

体验:非常强大,而且极其灵活,在 MyBatis 之上。

嗯,这一节就写这么点好了,下一篇我们来正式开始学习 MyBatis。

欢迎大家访问我的网站:https://www.lemon1234.com

可以的话关注一下我的公众号,就在我网站,每天都有更新~~~,无限资源畅游 Java,感谢~

最近小程序也开放了,大家可以扫码进行玩玩看

猜你喜欢

转载自blog.csdn.net/weixin_45908370/article/details/113893302
今日推荐