WEB开发网
开发学院WEB开发Jsp Java 应用程序开箱即用的对象持久性 阅读

Java 应用程序开箱即用的对象持久性

 2008-01-05 08:24:15 来源:WEB开发网   
核心提示:级别: 初级Sami Salkosuo (sami.salkosuo@fi.ibm.com), 软件架构师, IBM2007 年 3 月 12 日

级别: 初级

Sami Salkosuo (sami.salkosuo@fi.ibm.com), 软件架构师, IBM

2007 年 3 月 12 日

   Simple Persistence for java 是一个开源的对象关系型持久性库,它使用定制查询语言以及内建数据库支持来简化 Java 应用程序中的对象持久性。在本文中,软件架构师 Sami Salkosuo 介绍了该库,并带您领略解决对象持久性的零治理以及零配置方法。

   对象持久性几乎是所有 Java™ 应用程序(从桌面应用程序到企业级应用程序)中的必备。持久性的缺点是它一直都不太简单。但这一情况已在最近一版的 Simple Persistence for Java(一个开源的对象关系型持久性库)中有所改变。

   Simple Persistence for Java 2.1.0 版添加了对 HSQLDB 的支持,HSQLDB 是一个纯 Java 数据库。Simple Persistence for Java 和 HSQLDB 都不需要应用程序用户进行治理和配置。考虑以上因素,这些工具让您能够花相当少的力气就将持久性引入到应用程序中。

   本文向您介绍 Simple Persistence for Java v2.1.0,并展示了如何几乎不费力气地使用该库以在 Java 应用程序中获得对象持久性。

Simple Persistence for Java

   Simple Persistence for Java 是一个在 LGPL 许可下的开源库,由 Hungarian company NetMind Consulting 公司内部开发并发布到开源社区。

   Java 开发人员有许多对象关系型库可用。Simple Persistence for Java 与其他库的不同之处是它零配置即可使用。此库的一个主要设计原则是:无需配置配置文件、xml 映射文件和属性(当然,您要有一个合适的数据库)。

Simple Persistence for Java 库还有以下一些重要特征:

  • 小的存储空间(135KB)
  • 简单的 API
  • 支持多个数据库
  • 简单查询语言
  • 多态性
  • 惰性结果列表

   在 2.1.0 版中,Simple Persistence for Java 库添加了对 HSQLDB 数据库的支持。HSQLDB 是一个开源的、轻量级的纯 Java SQL 数据库引擎,它由一个 BSD 风格的许可协议授权。HSQLDB 支持 ANSI-92 SQL 的富子集,也支持 SQL 99 和 2003 增强版。它提供基于内存和基于磁盘的表,并支持内嵌式操作模式和服务器操作模式。

StockData 应用程序

   我将用一个叫做 StockData 的样例程序向您展示通过 Simple Persistence for Java 库和 HSQLDB 来获得对象持久性是多么简单。StockData 基于用户查询过滤历史证券数据(在一个 CSV 文件中)。该程序和一个内嵌式数据库一起操作,且从命令行中运行。

   为继续讨论,您需要重建类似我这样的开发环境并建立样例应用程序。StockData 的开发环境为 Eclipse 3.2.1,最低的 Java 版本是 JDK 1.5.0。我使用了基于内存的数据库选项在内嵌模式下开启了 HSQLDB 数据库。请注重,我可以选一个基于磁盘的内嵌式数据库或服务器端数据库,但出于演示的目的,我选了 HSQLDB 基于内存的数据库。

需要下列库来执行 StockData 样例程序:

  • commons-io-1.2.jar
  • commons-logging-api.jar
  • commons-logging.jar
  • hsqldb.jar
  • java-cup-11-runtime.jar
  • log4j-1.2.8.jar
  • netmind-persistence-2.1.0.jar

   StockData 程序使用 commons-io 包和 commons-logging 包,HQSLSB 并不依靠于任何 jar 文件。netmind-persistence-2.1.0.jar 依靠于 java-cup-11-runtime.jar 和 log4j-1.2.8.jar。

样例源代码


Tags:Java 应用程序 开箱

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接