将数据从数据库表中获取到代码中的对象似乎总是很普通的代码。我发现有两种方法可以做到这一点:
- 有一个代码生成器,它读取数据库表并创建类和控制器以将数据字段映射到类字段或
- 使用反射获取数据库字段并在类中找到它。
上述2种方法注意到的问题如下
- 方法 1 在我看来好像我遗漏了一些东西,因为我必须为每个表创建一个控制器。
- 一旦您进入繁重的数据访问代码,方法 2 似乎太费力了。
我应该尝试将数据从数据库获取到我的对象上吗?
将数据从数据库表中获取到代码中的对象似乎总是很普通的代码。我发现有两种方法可以做到这一点:
上述2种方法注意到的问题如下
我应该尝试将数据从数据库获取到我的对象上吗?
在这种情况下,您通常使用 OR(对象-关系)映射器。提供 OR 功能的一个很好的框架是Hibernate。这回答了你的问题了吗?
我认为这个问题的答案取决于您将要使用的语言的可用技术。
我在使用 ORM(NHibernate)方面非常成功,所以我自然会推荐选项一。
您可能希望采取其他选择:
我使用反射来来回映射数据,即使在大量数据访问下也能正常工作。“第三条路线”是手工做所有事情,这可能跑得更快,但写起来真的很慢。
我同意 lewap,一个 ORM(对象关系映射器)在这些情况下真的很有帮助。您可能还想考虑 Active Record 模式(在 Fowler 的企业架构模式一书中进行了讨论)。它可以真正加快简单应用程序中 DAL 的创建速度。