8.1 ORM和MyBatis
8.1 ORM和MyBatis
目前流行的编程语言,例如Java
、C#
等,都是面向对象的编程语言;而目前主流的数据库产品,例如Oracle
、DB2
等,依然是关系数据库。编程语言和底层数据库的发展不协调,催生岀了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
(结构化査询语言)操作。