在 JRuby 中使用 JDBC 的其他方法
到目前为止,编写了从 Ruby 调用 JDBC 的代码。从 JRuby 与 Derby 进行交互还有其他几种方法:
◆纯 Java 代码 —— 数据库访问代码可以用纯 Java 代码编写。您可以有一个希望嵌入 Ruby 的应用程序,可能允许用户在应用程序中编写一些脚本。此应用程序已经有一组用于执行所有必需的数据库访问的类。需要用户编写的脚本能够通过现有数据库访问对象来访问数据库。使用 JRuby,需要执行的全部操作就是使用 include_class 和 include_package 方法从 Ruby 脚本访问那些对象。这将让您只需编写一次数据库访问代码,而不用使用两种语言重新创建该代码。
◆ORM 工具 —— 与 Derby 进行交互的另一种方法是使用 ORM 工具。为此,可直接从 JRuby 使用一个 Java 的 ORM 库(例如,Hibernate 或 iBatis),或者通过编写的 Java 数据库访问对象来使用 Java 的 ORM 库。使用 ORM 工具的另一种方法是使用 Ruby 中编写的众多 ORM 工具之一 —— 目前最著名的是 ActiveRecord。
使用 ActiveRecord 连接至 Derby
此部分将说明如何使用 Ruby 的 ActiveRecord 库连接至 Apache Derby。
什么是 ActiveRecord?
ActiveRecord 是用纯 Ruby 编写的 ORM 库。它是 Active Record 设计范式的一个实现,如 Martin Fowler 在 Patterns of Enterprise Application Architecture 中所述(有关 Safari 书店 Web 站点上本书的链接,请参阅 参考资料)。ActiveRecord 是著名的用于 Ruby on Rails(常见的 Web 开发框架)的默认持久性机制。但是,ActiveRecord 不需要使用 Rails 框架。其惟一依赖的是名为 ActionSupport 的软件包;因而可以在 Rails 应用程序外部使用 ActiveRecord。