GreenDao介紹
greenDAO 是一個將對象映射到 SQLite 數據庫中的輕量且快速的 ORM 解決方案
何為ORM?
ORM(Object/Relation Mapping): 對象/關系映射
ORM 主要解決對象-關系的映射
ORM的思想:將關系數據庫中表中的記錄映射成為對象,以對象的形式展現,程序員可以把對數據庫的操作轉化為對對象的操作。
ORM的必要性
在寫程序的時候,我們程序員通常是對對象進行一系列的操作,而在使用SQLite時,我們往往要從面向對象中脫離出去,需要做許多額外的工作,像編寫 SQL 語句與解析查詢結果等(書寫SQL和查詢結果是相當乏味和耗時的任務),而如果運用ORM這些框架的話,就能對原來的操作進行一系列的封裝,最好的操作也落在熟悉的對象上,這樣開發的更加快捷,效率更高。
市面上主流的ORM框架有
OrmLite :JDBC和Android的輕量級ORM java包
Sugar :用超級簡單的方法處理Android數據庫
GreenDAO :一種輕快地將對象映射到SQLite數據庫的ORM解決方案
ActiveAndroid :以活動記錄方式為Android SQLite提供持久化
SQLBrite :SQLiteOpenHelper 和ContentResolver的輕量級包裝
Realm 移動數據庫:一個SQLite和ORM的替換品
GreenDao特點
greenDAO的本質是提供一種面向對象接口存儲在關系數據庫的SQLite數據。剛剛定義的數據模型,並greenDAO將創建的Java數據對象(實體)和DAO的(數據訪問對象)。這將節省您大量的枯燥的代碼,只是移動數據來回。除此之外,greenDAO提供一些先進的ORM功能就像一個會話緩存,預先加載,和積極的實體。
性能(官網上的解釋)
我們知道所有的ORM的,greenDAO是最快的。greenDAO不作性能方面任何妥協。數據庫是非常適合存儲大量數據,從而加速事項。使用greenDAO,大多數實體可以插入,更新和在速率加載每秒幾千實體。
我們在greenDAO的表現充滿信心,並邀請您比較greenDAO對其他的框架。我們開源了我們的測試充分的透明度。下圖比較了Android的greenDAO,OrmLite和ActiveAndroid 3個最流行的ORM解決方案(根據基於GitHub上星和Appbrain的統計普及)。greenDAO插入和更新實體快約2倍,並圍繞比ORMLite快4倍的負載實體。典型應用的加載速度是最相關的。
優點還包括以下這幾點
- greenDAO的核心庫小於100K的大小,所以加入greenDAO不會傷害你的APK大小
- 開源