2009-07-27 50 views

回答

0

我使用映射到数据库表的数据访问对象列表。

0

我不确定你使用的是什么语言,但总的来说,存在简单性与可扩展性之间的折衷。

如果您直接返回DataSet,那么现在您已将自己与数据库相关的类联系起来了。这留下了很小的扩展空间 - 如果您允许访问文件或其他类型的数据源,该怎么办?但是,它也很简单。这是记录集模式,C#/ VB为此提供了很多内置支持。 GUI层可以访问记录集并轻松操作数据。这适用于简单的应用程序。另一方面,您可以将数据集包装在自定义对象中,并提供网关方法(请参阅网关模式http://martinfowler.com/eaaCatalog/gateway.html)。这种方法更复杂,但提供了更多的可扩展性。在需要分离业务逻辑,数据逻辑和GUI逻辑的更大型应用程序中,这是一种更加可靠的方法。

对于大型企业应用程序,您可以使用对象关系映射工具(ORM)进行研究。它们有助于自动将java对象映射到数据库表。他们隐藏了很多痛苦的SQL细节。 Spring等框架为ORM提供了极好的支持。

0

我倾向于使用对象数组,以便我可以从业务逻辑中断开DAO。

例如,您可以将数据作为数据集存储在数据集中,并为他们提供了一种在更新之前添加到数据库的简单方法,以便他们可以传递信息以进行修改操作,然后当他们想要一次性完成他们可以做到的改变。

我更喜欢用户不能自己添加/修改结构,因为它更难确定数据库中必须更改的内容。

通过最初返回一个数组,他们可以显示数据库中的内容。

然后,随着表示层进行更改,控制器可以更新DAO。通过松耦合,整个系统变得更加灵活,因为您可以将DAO从数据集更改为其他内容,而其他应用程序并不在意。

0

有两种选择是最通用的。

查看结果集的第一种方法是作为一个映射列表,其中每个映射表示ResultSet中的一行。这些键是FROM子句中列出的列;值是数据库值。

查看ResultSet的第二种方式是作为List的Map,其中每个List表示ResultSet中的列。 Map键是FROM子句中列出的列;这些值是数据库值列表。

如果你不想做全面的ORM,这些可以带你很长的路要走。