Welcome 微信登录

首页 / 软件开发 / JAVA / Ruby on Rails的活动记录纵览

Ruby on Rails的活动记录纵览2011-11-09 天极 李宁用Ruby on Rails来编写数据库管理系统是非常快速的。Ruby on Rails之所以有如此高的生产率,不 光是Ruby的语法灵活,而这一切在很大程序上是拜活动记录(Active Record)所赐。那么什么是活动记 录呢?如果用一句话来解释,那就是一个可以将数据映射成对象的框架(这有些类似于Hibernate)。也 许你会说:"这有什么,现在这种框架多得是,Hibernate不是也非常强大吗?",但如果你用了Ruby on Rails(以下简称为RoR),你就会发现它和其它的同类框架是多么的不同,它比其它框架更容易使用,编程 效率也更高,据官方说,使用RoR比使用Java和Hibernate的生产率高10倍(也许并没有这么夸张,但活动 记录的数据映射的确比其它框架的数据映射的生产率高一些)。

无论是桌面程序还是基于Web的程序,数据处理始终是它们的核心。数据可以使用不同的技术进行描述 和处理。

这些数据处理技术之一就是对象关系映射技术,或者简称为ORM技术。ORM技术将数据库中的数据表或 视图映射成了面象对象的类。而ORM框架的作用就是架起数据和对象之间的桥梁,以及为桥梁两端的数据 和对象提供相应的服务。由于ORM框架自成一体,因此,开发人员的主要工作就是将ORM框架和其它的框架 (如web框架)连接起来,从而使它们可以协同工作。

在ORM框架家族中,RoR很特别。RoR的核心是ORM框架,而这个框架在RoR中是以活动记录的形式表现的 。在本文中,我们将关注活动记录的一些基本概念和她最诱人的地方:快速连接和操作数据库。本文的第 一部分将讨论活动记录的基础知识。第二部分将一步步地指导读者如何使用活动记录快速地连接和操作数 据库。在第三部分中我们以一个完整的例子来讨论如何将活动记录和ActionController以及ActionView一 起使用。以上是本文所讨论的主要内容。

什么是活动记录

活动记录是一个ORM框架,也可以看做是和RoR一起发布的一个数据库映射层。活动记录是RoR的核心。 活动记录是一个ORM层,它提供了以下的映射服务:

1. 将表映射成类

2. 将字段映射成类的属性

3. 将表中的主键映射成Ids属性

4. 将行映射成对象

活动记录和其它的ORM框架最大的区别是它们的映射方式不同。大多数流行的ORM框架(如Hibernate) 是以XML作为映射容器。而活动记录采用的是更容易使用的"约定"方式进行映射。下面让我们来看看活动 记录是如何做的。