InfoQ

新闻

新的开源项目提供了面向对象的数据访问

作者 Steven Robbins译者 张龙 发布于 2008年8月1日 上午5时18分

社区
Architecture,
Java
主题
开放源代码,
声明,
数据访问,
面向对象设计
标签
面向对象编程,
MySQL,
JDBC,
数据库

Kasper Sørensen在eobjects.dk上创建了一个叫做MetaModel的新的开源项目。该项目是一个通用的领域模型、查询引擎以及对不同类型数据存储的优化器,如关系数据库和一般文件。MetaModel是一个Java库,提供了一个流动的、面向对象的接口以进行SQL兼容的查询。

MetaModel为“数据存储”领域提供了一个通用的领域模型。例如,该库提供了诸如Table、Column、Query以及DataSet这样的领域对象,它们可用来查询数据源,甚至还能构建或者调整数据存储的结构。该模型使得你可以通过JDBC创建并操纵SQL查询。它还提供了针对CSV和Excel文件的相同的查询能力。

MetaModel的查询引擎完全是面向对象的。它允许我们使用Java对象进行查询进而代替了专有或者容易出错的语言。在创建查询时它还提供了一定程度的类型安全。

关于MetaModel库的有用性,Sørensen说到:

它基于已被大家广为接受的标准和类型安全的查询语句,强制使用更好的方式与数据进行交互。该框架小巧且简单,但是很强大,这使得使用和学习起来都很简单。

该项目站点声明了MetaModel的总体目标就是提供一个Java API,可以:

  • 遍历和构建数据存储源的结构。
  • 以类似SQL的方式执行数据存储中立的查询。
  • 通过查询引擎提供不支持查询的数据存储。
  • 支持JDBC数据库、CSV文件及Excel表格。
  • 将单独的查询分割为产生相同结果的多个查询,这对于重负载的情况可以进行性能优化和网格执行(grid execution)。

eobjects.dk还提供了使用MetaModel进行编程的webcast,展示了使用领域模型与不同的数据源(CSV及MySQL DB)协同工作的基本内容。该webcast的前半部分详细讲述了与数据存储交互的核心类DataContext的使用。后半部分解释了如何使用库中的类来生成查询语句。

MetaModel并不是O/R映射工具的等价物或者替代品。它提供了一种更加简单的方式无需直接使用JDBC就能与数据库交互。

查看英文原文:New Open Source project provides Object Oriented data access

没有回复

回复

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。