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

  • Steven Robbins
  • 张龙

2008 年 8 月 1 日

话题:Java数据库开源MySQL架构DevOps语言 & 开发文化 & 方法

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

Java数据库开源MySQL架构DevOps语言 & 开发文化 & 方法