0
点赞
收藏
分享

微信扫一扫

一、MyBatis简介

英乐 2022-03-16 阅读 28

MyBatis简介

什么是框架

  • 框架(Framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架这个广泛的定义使用的十分流行,尤其在软件行业。

  • 框架( Framework)是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。

  • 在开发过程是使用框架,同样可以保证减少开发时间、降低开发难度,并且还保证设计质量。好比和世界上最优秀的软件工程师是一个项目的,并且他们完成的还是基础、全局的工作。想想是不是很嗨的一件事情。

  • 总之,框架是一个半成品,已经对基础的代码进行了封装并提供相应的 API,开发者在使用框架是直接调用封装好的 API
    可以省去很多代码编写,从而提高工作效率和开发速度。

使用框架的好处

  • 重用代码大大增加,软件生产效率和质量也得到了提高;
  • 代码结构的规范化,降低程序员之间沟通以及日后维护的成本;
  • 知识的积累,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程;
  • 软件设计人员要专注于对领域的了解,使需求分析更充分;
  • 允许采用快速原型技术; 有利于在一个项目内多人协同工作;
  • 大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性、灵活性增强。

什么是ORM

  1. ORM, Object Relational Mapping, 对象关系映射,它的作用是关系型数据库和对象之间做一个映射处理。
  2. 什么需要ORM?因为JDBC存在很大的缺点:需要手动的完成面向对象向对象的 Java语言、面向关系的数据库之间数据的转换,代码繁琐无技术含量,影响了开发效率。
  3. ORM 框架就是专门来解决这个问题的,相当于在面向对象语言和关系数据库之间搭建一个桥梁。这样我们在具体的操作数据库的时候,只要像平时操作对象一样操作它就可以了,ORM 框架会根据映射完成对数据库的操作,就不需要再去和复杂的 SQL 语句打交道了。
    ORM

MyBatis简介

Mybatis的起源

  1. MyBatis 本是 Apache 的一个开源项目 iBatis, 2010 年这个项目由 Apache SoftwareFoundation 迁移到了 Google Code,且改名为 MyBatis 。2013 年 11 月迁移到GitHub。 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使 用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java 对象)映射成数据库中的记录。

  2. 总之, MyBatis 是一个半自动 ORM 框架,其本质是对 JDBC 的封装。使用 MyBatis重点需要程序员编写 SQL命令,不需要写一行 JDBC代码。

与Hibernate的比较

  1. Hibernate 是一个全自动的 ORM 框架。因为 Hibernate 创建了 Java 对象和数据库表之间的完整映射,可以完全以面向对象的思想来操作数据库,程序员不需要手写 SQL 语句,而 MyBatis 中还需要手写 SQL 语句,所以是半自动化的,工作量要大于 Hibernate。
    hibernate的工作见图

  2. 为什么全自动的hibernate却没有半自动的Mybatis火呢?

  • Hibernate对于复杂的SQL语句很难实现。就算实现后导致性能丢失
  • Mybatis的SQL工作是开发者实现的,对于复杂SQL,Mybatis实现后的性能更好,在高并发、快响应的业务场景先MyBatis更合适。
  • Hibernate 对于初学者来说成本太高。
    MyBatis执行SQL示意图
  • 总之,对于高并发、快响应、大数据、高性能的业务尝尽,MyBatis更适合,而对于性能、响应速度、高性能的业务场景要求不那么高的话,Hibernate也是可以的。
举报

相关推荐

MyBatis简介

Mybatis简介

MyBatis入门简介

Mybatis——缓存简介

Mybatis架构简介

0 条评论