MyBatis 基础

2018-09-07  本文已影响15人  夏海峰

数据库框架在实际开发中是经常使用的,本节课程将以 MyBatis 为例,介绍数据库框架的基本原理和使用方法。

1、为什么需要数据库框架这一类的技术?

Java语言是一门面向对象的编程语言,面向对象是从软件工程的基本原则如高内聚、低耦合等理论基础上发展起来的。在面向对象的世界中,数据都是以对象的形式存在的。而关系型数据库是基于数学理论发展起来的,在关系型数据库中,数据是由行和列组成的二元表。正是因为编程语言和数据库之间的这种不匹配关系,才需要一种中间技术来实现对象和二元表之间的转换。

对象与二元表之间的鸿沟

什么 ORM 技术?这种技术要解决什么问题?

ORM “对象/关系 映射”,即对象到二元表之间的映射关系。它能帮助我们建立对象到二元表之间的映射关系,它能够把我们对对象的操作自动地转换成对数据库二元表的操作。从而实现在应用程序中,像直接操作数据表一样地操作数据对象。

什么是 ORM 技术?

ORM 是怎样规定数据对象和二元表之间的映射关系的呢?

通过 ORM 映射技术,二元表中每一行都会被转换成一个对象,每一列都会被转换成对象的一个属性。

ORM 的映射规则



2、什么是 MyBatis?MyBatis 有哪些优势?

MyBatis 前身是 Apache 基金会下的一个开源项目,于2010年迁移到了 Google Code。它本质上是一个 ORM 框架,但它与传统的 ORM 框架又有很大不同,它并没有建立“对象 - 二元表”之间的映射关系,而建立了“对象操作方法 - SQL语句”之间的映射关系。

MyBatis 的优势是它允许开发者使用关系型数据库的所有特性,比如存储过程、视图、复杂查询等。

MyBatis 简介



3、MyBatis 功能架构是怎样的?

MyBatis 功能架构图

第1层:API 接口层,向外界提供接口 API 以操作数据库,它接收到 API 操作指令后就会把操作请求转发给数据处理层。

第2层:数据处理层,该层主要负责 SQL 查找、解析、执行,以及 SQL 执行结果的数据处理。它根据 API 层的操作请求,完成实际的数据库操作。

第3层:基础支撑层,主要负责最基础的功能支撑,比如数据库连接的管理、事务管理、配置加载、缓存处理等。把这些基础的公用的功能逻辑抽象成组件,为上层的数据库操作提供最最基本的保证。



4、MyBatis 的工作流机制:MyBatis 是如何工作的?

第1步:在应用程序启动时,加载一个 MyBatis 的 .xml 配置文件,这个 .xml 文件中定义了后端数据库地址、对象方法和SQL语句之间的映射关系等。

第2步:应用程序调用 MyBatis 的 API 并传入相关参数和 SQL 语句的 ID。

第3步:MySQL 数据处理层会根据 API 及其参数,自动生成对应的 SQL 语句,进一步完成数据库的访问与操作,并将 SQL 执行结果(对象数据)返回给应用程序。

MyBatis 的工作流机制



5、开始使用 MyBatis
第1步:下载并安装 MySQL 数据库驱动 JAR 包。

MyBatis 的底层实际上仍然是使用 JDBC 来实现数据库访问与操作的。因此在我们的 Java 项目工程中也是需要添加 MySQL 驱动程序的。添加如下的 Connector/J 驱动 JAR包到工程项目中:

mysql-connector-java-5.1.12.jar

第2步:下载并安装 MaBatis 项目 JAR包。

在 GitHub 下载MyBatis 项目 JAR包,并将其添加到 Java 的项目工程中去(推荐使用 Maven 来管理 JAR包)。

mybatis-3.2.3.ja
下载 MyBatis 项目 JAR 包

第3步:为 MaBatis 添加 .xml 配置文件。

配置 SqlSessionFactory ,配置参数如下图示,transactionManager 事务管理类型设置为 "jdbc",数据库驱动、连接 URL、用户名和密码等。

MaBatis 配置文件

学习资源
1、MyBatis文档
2、MyBatis教程


本章完!!!
上一篇下一篇

猜你喜欢

热点阅读