我是一名.NET开发人员,正在尝试使用Java。我当前的项目有一个UI层,业务逻辑层和一个数据访问层。我目前正在研究DAL。
我还没有连接到外部数据库;我曾希望让我的DAL类使用内存中的dataTable,直到数据库到位。
在.NET中,很容易制作内存中的dataTable,从中进行选择,添加它们并从中删除。但是,在Java中,我一直无法找到能够做同样事情的东西。
我正在考虑用强类型对象的集合替换'dataTables';但这需要在DAL中添加对Business层的引用(我认为这是禁止的)。
有人可以帮助困惑的开发者吗?如果整个方法存在缺陷,你会怎么做?如果我在Java中错过了相当于dataTable的东西 - 它是什么?
答案 0 :(得分:1)
您可以使用this answer中所述的内存数据库。
this SO question中显示了不同内存数据库的比较。
答案 1 :(得分:1)
Here's an article运行内存中的Derby数据库。
如果我知道您正在使用什么数据库和哪个持久性库,我可能会给出更准确的答案。
答案 2 :(得分:1)
我正在考虑更换 带有集合的'dataTables' 强类型对象;但那样会 需要添加对业务的引用 DAL里面的层(我想 这是禁止的。)
谁制定了这些规则?
如果您的数据访问层负责模型对象的CRUD操作,那么在我看来它必须引用它们。没有办法解决这个问题。
持久层无需了解服务或视图层。
唯一完全解耦的课程是与任何人交谈并且什么都不提供的课程。这没用。
不要那么挂“规则”。您正在尝试对应用程序进行分层。您将关于持久性的所有内容都放在一个类层中。
我不认为内存数据库对您设计持久层的方式有任何影响。您应该能够交换关系数据库或平面文件或任何其他机制,但接口不应更改。这是一个实现细节。
答案 3 :(得分:0)