8.1 ORM和MyBatis

8.1 ORM和MyBatis

目前流行的编程语言,例如JavaC#等,都是面向对象的编程语言;而目前主流的数据库产品,例如OracleDB2等,依然是关系数据库编程语言和底层数据库的发展不协调,催生岀了ORM框架,ORM框架可作为面向对象编程语言和数据库之间的桥梁
确切地说,MyBatis并不完全是一种ORM框架,它的设计思想和ORM相似,只是它允许开发人员直接编写SQL语句,使得访问数据库更加灵活,更准确地说,它应该是一种SQL Mapping“框架

8.1.1 对象/关系数据库映射(ORM)

ORM的全称是 Object/Relation Mapping,即对象/关系数据库映射。可以将ORM理解成种规范,它概述了这类框架的基本特征,完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性,又可以利用关系数据库的技术优势。因此可以把ORM当成应用程序和数据库的桥梁
ORM可以把关系数据库包装成面向对象的模型
最终面向对象数据库会取代关系数据库,ORM工具会逐渐消亡。但只要依然采用面向对象程序设计语言,底层依然采用关系数据库,中间就少不了ORM工具。
采用ORM框架之后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象(例如创建、修改、删除等),而ORM框架则将这些面向对象的操作转换成底层的SQL操作

ORM工具的作用

ORM工具的唯一作用就是:把对持久化对象的保存、修改、删除等操作,转换成对数据库的操作。由此,程序员可以以面向对象的方式操作持久化对象,ORM框架则负责将相关操作转换成对应的SQL(结构化査询语言)操作
这里有一张图片