分享到

简介

什么是 ORM,为什么在与数据库交互时 ORM 如此常见?如果您是关系数据库支持的应用程序编程新手,那么在您的研究中您可能遇到过 ORM 这个术语。在本指南中,我们将简要介绍 ORM 是什么以及它们如何提供帮助。

什么是 ORM?

ORM,即对象关系映射器,是一种旨在在数据库使用的数据表示形式和面向对象编程中使用的数据表示形式之间进行转换的软件。 基本上,这两种处理数据的方式自然不相符,因此 ORM 试图弥合这两个系统的数据设计之间的差距。

从开发人员的角度来看,ORM 允许您使用与任何类型的内部数据相同的面向对象结构和机制来处理数据库支持的数据。 ORM 的承诺是,您无需依赖特殊技术,也无需学习像 SQL 这样的新查询语言即可高效地处理数据。

通常,ORM 充当应用程序和数据库之间的抽象层。 它们试图通过消除对样板代码的需求并避免使用可能破坏您对所选语言的习惯和人体工程学的笨拙技术来提高开发人员的生产力。

我需要 ORM 吗?

虽然 ORM 可能很有用,但重要的是将它们视为一种工具。 它们并非在每种情况下都适用,并且可能存在您需要权衡的利弊。

通常,如果您使用语言的许多面向对象功能来管理大量状态,那么 ORM 可能是一个不错的选择。 例如,管理封装在具有复杂继承关系的对象中的状态的影响可能难以手动处理。 它们还可以帮助您更轻松地启动项目,并通过模式迁移等功能管理数据结构中的更改。

虽然 ORM 通常很有用,但它们并非完美无缺。 有时,ORM 引入的抽象级别会使调试变得困难。 有时,ORM 用于在数据库和应用程序之间进行转换的表示形式可能并不完全准确,或者可能会泄露内部实现的细节。 对于某些用例,这些可能是问题。

重要的是了解您的项目的需求以及您希望如何花费资源来构建软件。 ORM 是一种可以帮助您更轻松地构建数据库支持的应用程序的工具,但您必须自己决定它们是否为您的项目增加价值。

结论

在本指南中,我们简要了解了 ORM 是什么以及它们如何有用。 总的来说,尽早问问自己 ORM 是否会对您的项目有所帮助是一个好主意。 评估权衡可以很好地帮助您了解您希望如何集中精力。

要了解 ORM 与其他与数据库交互的方式的比较,请查看我们对 SQL、查询构建器和 ORM 的比较

关于作者
Justin Ellingwood

Justin Ellingwood

Justin 自 2013 年以来一直撰写关于数据库、Linux、基础设施和开发者工具的文章。他目前与妻子和两只兔子住在柏林。他通常不必以第三人称写作,这对所有相关方来说都是一种解脱。