GreenDao概述
-
1),GreenDao的認(rèn)識
greenDao是一個當(dāng)下十分火熱的數(shù)據(jù)庫開源框架,或者說是一個幫助Android開發(fā)者將數(shù)據(jù)存到SQLite中的一個開源項目,也可以說是一個將對象映射到SQLite數(shù)據(jù)庫中的,輕量的,快速的ORM解決方案.
GreenDao是對android原生SQLite的封裝,
GreenDao的特色是通過插件自動生成DAO層類!
SQLite:-->SQLite是一個很好的嵌入式關(guān)系數(shù)據(jù)庫,
ORM:-->Object Relational Mapping-->對象,關(guān)系,映射!
它把Java對象映射到數(shù)據(jù)表中來稱作是ORM!
Orm是對象與數(shù)據(jù)的映射禀综,簡單說就是讓javabean和數(shù)據(jù)庫表建立綁定關(guān)系!
-
2)GreenDao相比SQLiteOpenHelper
之前開發(fā)是通過繼承SQLiteOpenHelper實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)庫,基本表以及迭代開發(fā)中數(shù)據(jù)庫,實(shí)現(xiàn)增刪改查!
而greenDao使用一個簡單的面向?qū)ο蟮慕涌趤泶鎯Υ逭濉⒏乱魉铩h除和查詢Java對象,來達(dá)到對數(shù)據(jù)庫的增刪改查的操作!!
關(guān)于greenDAO的其他相關(guān)信息可以看官網(wǎng)greenDAO
-
3)推薦學(xué)習(xí)資料地址:
GreenDao官網(wǎng):
http://greenrobot.org/greendao/
GreenDao特征介紹:
http://greenrobot.org/greendao/features/
GreenDao學(xué)習(xí)文檔:
http://greenrobot.org/greendao/documentation/
GreenDao更新日志:
http://greenrobot.org/greendao/changelog/
GreenDao GitHub地址:
https://github.com/greenrobot/greenDAO
GreenDao有什么優(yōu)勢
- 1)性能最高,內(nèi)存消耗最小,支持?jǐn)?shù)據(jù)庫加密.
- 2)一個精簡的庫,依賴庫小于100kb,且使用人數(shù)眾多,維護(hù)者也一直在更新.
- 3)完善的api,并且對Android進(jìn)行了高度優(yōu)化
greenDAO和ORMLite框架的比較:
對于給定相同的實(shí)體,greenDAO插入和更新實(shí)體的速度是ORMLite的兩倍,并且在加載實(shí)體方面,它的加載速度比ORMLite快幾乎4.5倍,
在一些特殊的應(yīng)用中奥帘,加載速度是至關(guān)重要的!
GreenDao的特點(diǎn)
- 1)ORM對象關(guān)系映射
GreenDAO就是為存儲在關(guān)系型數(shù)據(jù)庫SQLite中的數(shù)據(jù),提供面向?qū)ο蟮目旖莘绞? - 2)活動實(shí)體
如果需要仰美,實(shí)體可以被“激活”,而活動實(shí)體可以透明地解析關(guān)系,并且有更新,刪除方法,以便方便地訪問持久性功能
也就是由greendao生成的java實(shí)體對象可以調(diào)用其get,set方法,通過操作對象來實(shí)現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)的增刪改查! - 3)協(xié)議緩沖區(qū)支持
GreenDAO可以將協(xié)議緩沖區(qū)protobuf對象直接保存到數(shù)據(jù)庫中,如果通過protobuf通話到您的服務(wù)器,則不需要另一個映射.
常規(guī)實(shí)體的所有持久性操作都可用于protobuf對象!這是GreenDAO的獨(dú)特之處,獨(dú)一無二的特性!!
protobuf:
https://github.com/google/protobuf - 4)自動生成代碼
使用GreenDao,我們無需關(guān)注實(shí)體類以及Dao,GreenDao可以為我們自動生成!
意味著GreenDao將會生成Java數(shù)據(jù)對象(實(shí)體)和DAO對象,使用DAO對象以對象映射的方式來操作數(shù)據(jù)庫. - 5)加密支持
GreenDao支持加密數(shù)據(jù)庫來保護(hù)敏感數(shù)據(jù),
加密操作的技術(shù)文檔:
http://greenrobot.org/greendao/documentation/database-encryption/ - 6)依賴庫微小
物理質(zhì)量網(wǎng)絡(luò)統(tǒng)計其大小不超過100kb
可以查看本地緩存的文件位置,查看其大小.
C:\Users\think.gradle\caches\modules-2\files-2.1\org.greenrobot\greendao\3.2.2\4b0a727cd9b59a7550794f3bec8024cf271b15d - 7)性能高,速度快,存儲數(shù)據(jù)量大
- 8)開源
可以在github查看其源代碼,深入了解機(jī)制!