对象关系映射(ORM)
ORM(Object Relational Mapping)对象关系映射,是一种程序设计技术,用于实现面向对象编程语言中不同类型系统的数据之间的转换。
面向对象是从软件工程基本原则(耦合、聚合、封装等)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
ORM 框架完成了面向对象编程语言到关系数据库的映射。当 ORM 框架完成映射后,程序员既可以利用面向对象编程语言的简单易用性,又可以利用关系数据库的技术优势。使用 ORM 框架后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象,而 ORM 框架则将这些面向对象的操作转换成数据库相关操作。
MyBatis 简介
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 **Java POJO(Plain Old Java Objects,普通老式 Java 对象)**为数据库中的记录。
MyBatis 历史
MyBatis 本是 Apache
的一个开源项目 iBatis,2010 年这个项目由 Apache Software Foundation
迁移到了 Google Code
,iBatis 3.x 改名为 MyBatis 。代码于 2013 年 11 月迁移到 Github
。
iBatis 一词来源于 internet
和 abatis
的组合,是一个基于 Java 的持久层框架。iBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAOs)。
MyBatis 优势
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M7pbZ0Gz-1624969064833)(.\images\MyBatis.png)]
MyBatis 是一个半自动化的持久层框架,对开发人员开说,数据库操作的 核心 SQL 语句 还是需要自己进行优化。将 Java 编码 和 数据库操作的 SQL 语句 分离,功能边界清晰,一个专注业务,一个专注数据。