0

我是一名 .NET 开发人员,正在尝试使用 Java。我当前的项目有一个 UI 层、业务逻辑层和一个数据访问层。我目前正在研究 DAL。

我还没有连接到外部数据库;我曾希望让我的 DAL 类使用内存中的数据表,直到数据库到位。

在 .NET 中,创建内存数据表、从中选择、添加和删除非常容易。但是,在 Java 中,我一直找不到能做同样事情的东西。

我正在考虑用强类型对象的集合替换“dataTables”;但这需要在 DAL 内部添加对业务层的引用(我认为这是不行的)。

有人可以帮助困惑的开发人员吗?如果整个方法有缺陷,你会怎么做?如果我错过了相当于 Java 中的 dataTable - 它是什么?

4

4 回答 4

1

您可以使用此答案中描述的内存数据库。

这个 SO question显示了不同内存数据库的比较。

于 2010-10-02T20:05:35.587 回答
1

这是一篇关于运行内存 Derby 数据库的文章。

如果我知道您使用的是什么数据库和什么持久性库,我也许可以给出更准确的答案。

于 2010-10-02T20:09:16.357 回答
1

我正在考虑用强类型对象的集合替换“dataTables”;但这需要在 DAL 内部添加对业务层的引用(我认为这是不行的)。

谁制定了这些规则?

如果您的数据访问层负责模型对象的 CRUD 操作,那么在我看来,它必须具有对它们的引用。没有办法解决这个问题。

持久层不需要知道服务或视图层。

唯一完全分离的类是不与任何人交谈并且什么都不提供的类。没用的。

不要太拘泥于“规则”。您正在尝试对您的应用程序进行分层。你把所有关于持久性的东西都放在了一层类中。

我不认为内存数据库对您设计持久层的方式有任何影响。您应该能够交换关系数据库或平面文件或任何其他机制,但界面不应更改。这是一个实现细节。

于 2010-10-02T20:09:51.940 回答
0

Java 中的 OR/M 比 .NET 早得多。数据集的缺陷在于它们迫使您按程序进行编程。尝试与对象交互并稍后将它们映射到数据库。

于 2010-10-02T21:53:10.437 回答