关闭。这个问题需要更多 focused 。它目前不接受答案。
2年前关闭。
锁定。这个问题及其答案是 locked 因为这个问题是题外话但具有历史意义。它目前不接受新的答案或互动。
有人建议我将 ORM 用于我正在设计的项目,但我无法找到有关它是什么或如何工作的信息。
谁能给我一个关于 ORM 是什么、它是如何工作的以及我应该如何开始使用 ORM 的简要说明?
最佳答案
介绍
Object-Relational Mapping (ORM) 是一种技术,可让您使用面向对象的范例从数据库中查询和操作数据。在谈论 ORM 时,大多数人指的是实现对象关系映射技术的库,因此称为“ORM”。
ORM 库是用您选择的语言编写的完全普通的库,它封装了操作数据所需的代码,因此您不再使用 SQL;您直接与使用相同语言的对象进行交互。
例如,这是一个使用伪语言的完全虚构的案例:
你有一个书籍类,你想检索作者是“Linus”的所有书籍。手动,你会做这样的事情:
book_list = new List();
sql = "SELECT book FROM library WHERE author = 'Linus'";
data = query(sql); // I over simplify ...
while (row = data.next())
{
book = new Book();
book.setAuthor(row.get('author');
book_list.add(book);
}
使用 ORM 库,它看起来像这样:
book_list = BookTable.query(author="Linus");
机械部分通过 ORM 库自动处理。
利弊
使用 ORM 节省了大量时间,因为:
使用 ORM 库更灵活,因为:
但 ORM 可能会很痛苦:
for
循环中的重击)的新程序员来说,这是一个陷阱。 如何学习ORM?
嗯,用一个。无论您选择哪个 ORM 库,它们都使用相同的原则。这里有很多 ORM 库:
如果您想在 Web 编程中尝试使用 ORM 库,最好使用整个框架堆栈,例如:
不要尝试编写自己的 ORM,除非您想学习一些东西。这是一项巨大的工作,旧的工作需要花费大量的时间和工作才能变得可靠。
关于database - 什么是 ORM,它是如何工作的,我应该如何使用它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1279613/