综合技术 --ORM

ORM:Object Relational Mapping,对象关系映射。

ORM是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的交换,实际上说,它就是创建了一个可以在编程语言里面使用的“虚拟对象数据库”。

面向对象是从软件工程基本原则基础上发展起来,而关系型数据库则是从数学理论发展起来,它们之间经常有联系,为了解决联系时数据不匹配的现象,ORM技术应运而生。

面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系型数据库是企业级应用环境中永久存放数据的主流数据存储系统。

当我们开发一个应用程序的时候,我们可能会写不少数据访问层的代码,用来从数据库保存、删除、读取对象信息等,这些代码写起来有很多是重复的。--这是原有的技术

数据访问层:即DAL,Data Access Layer,它又称为DAO层。有时候也称为持久层,其主要功能是负责数据库的访问,即对数据库表的select、insert、update、delete等操作。DAL的主要职责是:读取数据和传递数据。

--现在使用新技术

引入O/R Mapping,即对象/关系映射。实际上O/R Mapping会为我们生成DAL。当我们使用O/R Mapping保存/删除/读取对象时,O/R Mapping会为我们生成SQL,我们只需要关心对象就好。

一般的ORM包括以下四个部分

1>一个对持久类对象进行CRUD操作的API

2>一个API用来规定与 类和属性相关的查询

3>一个规定Mapping的工具

4>一种技术可以让ORM的实现同事务对象一起进行DIRTYCHECKING以及其它的优化操作。

众多厂商和开源社区都提供了持久层框架的实现,java系列里面比较出名的有:hibernate和ibatis(现改名mybatis)。

映射模式

采用方法:将UML模型中的各种元素通过转换,保存为数据库模式。

1、数据类型映射模式

1-1简单数据类型模式:建立UML和关系型数据库中简单数据类型的映射表

1-2枚举数据类型模式:每种枚举类型对应一个表,只有一个列表示枚举值

1-3基于类的数据类型模式:使用外键约束,将基础列与 基于类的类型实例 相关联。

2、类映射模型

每个类对应一个表,单值属性、多值属性、继承关系都可以使用下述方法映射

2-1 单值属性模式:

2-2 多值属性模式:每个多值属性映射成一个独立的表,使用外键连接到类所对应的表上。






你可能感兴趣的:(综合技术 --ORM)