![數據的持久化,為什麼要持久化](http://p2.ttnews.xyz/loading.gif)
什麼是數據庫持久化呢?
持久數據其實就是將數據保存到數據庫。
數據持久化就是將內存中的數據模型轉換為存儲模型,以及將存儲模型轉換為內存中的數據模型的統稱;數據模型可以是任何數據結構或對象模型,存儲模型可以是關係模型、XML、二進制流等;cmp和Hibernate只是對象模型到關係模型之間轉換的不同實現。
只不過對象模型和關係模型應用廣泛,所以就會誤認為數據持久化就是對象模型到關係型數據庫的轉換罷了。 “持久化”這個概念是和“暫時”等概念相對的,數據在計算機中有一般有兩個存儲地,內存為暫存,因為電源關機就會數據丟失,如果需要反覆使用,就要持久保存,實現持久化了。
為什麼要持久化? 持久化技術封裝了數據訪問細節,為大部分業務邏輯提供面向對象的API。
1. 通過持久化技術可以減少訪問數據庫數據次數,增加應用程序執行速度;
2. 代碼重用性高,能夠完成大部分數據庫操作;
3. 鬆散耦合,使持久化不依賴於底層數據庫和上層業務邏輯實現,更換數據庫時只需修改配置文件而不用修改代碼。
![數據的持久化,為什麼要持久化](http://p2.ttnews.xyz/loading.gif)
1.什麼是持久化?
本人找了好多文章都沒有找到滿意的答案,最後是從孫衛琴寫的《精通Hibernate:Java對象持久化技術詳解》中,看到如下的解釋,感覺還是比較完整的。摘抄如下:
狹義的理解: “持久化”僅僅指把域對象永久保存到數據庫中;廣義的理解,“持久化”包括和數據庫相關的各種操作。
● 保存:把域對象永久保存到數據庫。
● 更新:更新數據庫中域對象的狀態。
● 刪除:從數據庫中刪除一個域對象。
● 加載:根據特定的OID,把一個域對象從數據庫加載到內存。
● 查詢:根據特定的查詢條件,把符合查詢條件的一個或多個域對象從數據庫加載內在存中。
2.為什麼要持久化?
持久化技術封裝了數據訪問細節,為大部分業務邏輯提供面向對象的API。
● 通過持久化技術可以減少訪問數據庫數據次數,增加應用程序執行速度;
● 代碼重用性高,能夠完成大部分數據庫操作;
● 鬆散耦合,使持久化不依賴於底層數據庫和上層業務邏輯實現,更換數據庫時只需修改配置文件而不用修改代碼。
閱讀更多 程序猿的內心獨白 的文章