MyBatis 基础
数据库框架在实际开发中是经常使用的,本节课程将以 MyBatis 为例,介绍数据库框架的基本原理和使用方法。
1、为什么需要数据库框架这一类的技术?
对象与二元表之间的鸿沟Java语言是一门面向对象的编程语言,面向对象是从软件工程的基本原则如高内聚、低耦合等理论基础上发展起来的。在面向对象的世界中,数据都是以对象的形式存在的。而关系型数据库是基于数学理论发展起来的,在关系型数据库中,数据是由行和列组成的二元表。正是因为编程语言和数据库之间的这种不匹配关系,才需要一种中间技术来实现对象和二元表之间的转换。
什么 ORM 技术?这种技术要解决什么问题?
什么是 ORM 技术?ORM “对象/关系 映射”,即对象到二元表之间的映射关系。它能帮助我们建立对象到二元表之间的映射关系,它能够把我们对对象的操作自动地转换成对数据库二元表的操作。从而实现在应用程序中,像直接操作数据表一样地操作数据对象。
ORM 是怎样规定数据对象和二元表之间的映射关系的呢?
ORM 的映射规则通过 ORM 映射技术,二元表中每一行都会被转换成一个对象,每一列都会被转换成对象的一个属性。
2、什么是 MyBatis?MyBatis 有哪些优势?
MyBatis 前身是 Apache 基金会下的一个开源项目,于2010年迁移到了 Google Code。它本质上是一个 ORM 框架,但它与传统的 ORM 框架又有很大不同,它并没有建立“对象 - 二元表”之间的映射关系,而建立了“对象操作方法 - SQL语句”之间的映射关系。
MyBatis 简介MyBatis 的优势是它允许开发者使用关系型数据库的所有特性,比如存储过程、视图、复杂查询等。
3、MyBatis 功能架构是怎样的?
第1层:API 接口层,向外界提供接口 API 以操作数据库,它接收到 API 操作指令后就会把操作请求转发给数据处理层。
第2层:数据处理层,该层主要负责 SQL 查找、解析、执行,以及 SQL 执行结果的数据处理。它根据 API 层的操作请求,完成实际的数据库操作。
第3层:基础支撑层,主要负责最基础的功能支撑,比如数据库连接的管理、事务管理、配置加载、缓存处理等。把这些基础的公用的功能逻辑抽象成组件,为上层的数据库操作提供最最基本的保证。
4、MyBatis 的工作流机制:MyBatis 是如何工作的?
第1步:在应用程序启动时,加载一个 MyBatis 的 .xml 配置文件,这个 .xml 文件中定义了后端数据库地址、对象方法和SQL语句之间的映射关系等。
第2步:应用程序调用 MyBatis 的 API 并传入相关参数和 SQL 语句的 ID。
MyBatis 的工作流机制第3步:MySQL 数据处理层会根据 API 及其参数,自动生成对应的 SQL 语句,进一步完成数据库的访问与操作,并将 SQL 执行结果(对象数据)返回给应用程序。
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 配置文件。
MaBatis 配置文件配置 SqlSessionFactory ,配置参数如下图示,transactionManager 事务管理类型设置为 "jdbc",数据库驱动、连接 URL、用户名和密码等。
本章完!!!