2010-02-03 17 views

回答

21

ORM是對象關係映射器。這意味着您不必親自手動調用數據庫; ORM會爲您處理它。

Ruby on Rails使用一個名爲ActiveRecord的,它是一個非常好的。

ORM允許你做的事情,如:

​​

不用手動寫SELECT語句連接,何在等

+0

現在我知道了mike.Is是否有任何其他ORM然後活動記錄? – Arun 2010-02-03 19:58:04

+1

Ruby還有其他的ORM工具(DataMapper,Sequel,Friendly等),還有一些Ruby on Rails(DrySQL),但Active Record通常與Rails一起使用。其他語言有很多ORM; Hibernate可能是最知名的。 – 2010-02-03 20:08:26

+0

在Rails官方(「開箱即用」)中,這些只是ActiveRecord。對於Ruby,還有一些其他的ORM(一個叫做DataMapper,似乎引起了很多關注),但是這些其他的需要一些工作來在Rails中起作用 – RyanWilcox 2010-02-03 20:09:08

1

ORM是對象關係映射器。這意味着您不必親自手動調用數據庫; ORM會爲您處理它。 Ruby on Rails使用一個名爲ActiveRecord,,這是一個非常好的。

活動記錄作爲一個ORM框架

活動記錄爲我們提供了幾種機制,最重要的是能力:

> Represent models and their data. 
> Represent associations between these models. 
> Represent inheritance hierarchies through related models. 
> Validate models before they get persisted to the database. 
> Perform database operations in an object-oriented fashion. 

click hear

3

ORM代表對象關係映射。它基本上意味着Active Record使用行和列來存儲數據庫中的數據,這些數據需要通過編寫SQL語句(如果您使用的是SQL數據庫)進行修改或檢索,並且可以讓您與數據交互就好像它是一個普通的Ruby對象一樣。

示例:假設您想要再獲取所有用戶的陣列,而不是寫數據庫連接的任何代碼,然後寫一些SQL查詢像SELECT * FROM users並將結果轉換成數組的,我只需鍵入User.all和活動記錄給我那充滿User對象的數組,我可以隨心所欲地玩。

使用哪種類型的數據庫並不重要。 Active Record可以爲您清除這些數據庫之間的所有差異,因此您不必考慮它。您專注於爲應用程序編寫代碼,Active Record會考慮將您連接到數據庫的細節。這也意味着,如果您從一個數據庫切換到另一個數據庫,您實際上不需要更改任何主要應用程序代碼,只需更改一些配置文件即可。