4

这可能是一个教科书问题,但我正在考虑如何设计一些类,将数据库连接从接收查询结果的 RESTful 服务中抽象出来。

我的想法是创建一个数据访问层接口,然后创建一个实现它并包含所有数据库共享的任何操作的顶级类。然后,我将实现这个超类(一个适配器)的具体子类。

对我来说似乎很简单,但我已经反弹的一些人认为它可能更复杂。

对于上下文,这是 Java,两个 DB 是 MySQL 和 HBase。我们已经有了 MySQL 的数据访问层 (DAL) 类。这些不使用休眠或弹簧;他们手动构建数据库查询并根据结果创建 POJO 实例。

所以我想我的问题有两个部分:

1)这和我想的一样简单吗?

2)有更好的方法吗?

4

1 回答 1

2

由于这种问题的情况,答案只能是:视情况而定!

根据您要实现的目标,这可能是一个复杂的问题,也可能是一个更简单的问题。你可以选择像 Hibernate 这样成熟的 ORM 工具,或者使用具有低级 JDBC 结构的自定义基本层。鉴于您拥有的应用程序类型,这对您有用。

但不要忽视这样一个事实,即你想做的基本上是对轮子的重新发明。以前已经这样做过。如果 DAL 工作良好,您应该重用您拥有的 DAL,或者使用现有框架。

此时,您想要的实现只是选择合适的工具的问题。不要只是盲目地选择一个,分析每个优点和缺点,然后选择最适合工作的一个(你的或其他人的)。

于 2012-12-26T12:53:13.683 回答