MyBatis简介
什么是框架
-
框架(Framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架这个广泛的定义使用的十分流行,尤其在软件行业。
-
框架( Framework)是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。
-
在开发过程是使用框架,同样可以保证减少开发时间、降低开发难度,并且还保证设计质量。好比和世界上最优秀的软件工程师是一个项目的,并且他们完成的还是基础、全局的工作。想想是不是很嗨的一件事情。
-
总之,框架是一个半成品,已经对基础的代码进行了封装并提供相应的 API,开发者在使用框架是直接调用封装好的 API
可以省去很多代码编写,从而提高工作效率和开发速度。
使用框架的好处
- 重用代码大大增加,软件生产效率和质量也得到了提高;
- 代码结构的规范化,降低程序员之间沟通以及日后维护的成本;
- 知识的积累,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程;
- 软件设计人员要专注于对领域的了解,使需求分析更充分;
- 允许采用快速原型技术; 有利于在一个项目内多人协同工作;
- 大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性、灵活性增强。
什么是ORM
- ORM, Object Relational Mapping, 对象关系映射,它的作用是关系型数据库和对象之间做一个映射处理。
- 什么需要ORM?因为JDBC存在很大的缺点:需要手动的完成面向对象向对象的 Java语言、面向关系的数据库之间数据的转换,代码繁琐无技术含量,影响了开发效率。
- ORM 框架就是专门来解决这个问题的,相当于在面向对象语言和关系数据库之间搭建一个桥梁。这样我们在具体的操作数据库的时候,只要像平时操作对象一样操作它就可以了,ORM 框架会根据映射完成对数据库的操作,就不需要再去和复杂的 SQL 语句打交道了。
MyBatis简介
Mybatis的起源
-
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 对象)映射成数据库中的记录。
-
总之, MyBatis 是一个半自动 ORM 框架,其本质是对 JDBC 的封装。使用 MyBatis重点需要程序员编写 SQL命令,不需要写一行 JDBC代码。
与Hibernate的比较
-
Hibernate 是一个全自动的 ORM 框架。因为 Hibernate 创建了 Java 对象和数据库表之间的完整映射,可以完全以面向对象的思想来操作数据库,程序员不需要手写 SQL 语句,而 MyBatis 中还需要手写 SQL 语句,所以是半自动化的,工作量要大于 Hibernate。
-
为什么全自动的hibernate却没有半自动的Mybatis火呢?
- Hibernate对于复杂的SQL语句很难实现。就算实现后导致性能丢失
- Mybatis的SQL工作是开发者实现的,对于复杂SQL,Mybatis实现后的性能更好,在高并发、快响应的业务场景先MyBatis更合适。
- Hibernate 对于初学者来说成本太高。
- 总之,对于高并发、快响应、大数据、高性能的业务尝尽,MyBatis更适合,而对于性能、响应速度、高性能的业务场景要求不那么高的话,Hibernate也是可以的。