什么是GreenDao?
Greendao是一款用于數(shù)據(jù)庫創(chuàng)建與管理的框架,用來操作數(shù)據(jù)庫叫挟,它省去了數(shù)據(jù)庫的建表操作和數(shù)據(jù)庫SQL的編寫。
GreenDao的優(yōu)點(diǎn)
在主流的ORM第三方庫中掂恕,GreenDao對(duì)數(shù)據(jù)庫操作的速度是最快的,如圖:
除此之外,GreenDo性能高弛槐,可加密懊亡,使用簡(jiǎn)潔,可使代碼量大大減少
ORM的概念
greenDAO 是一款開源的面向 Android 的輕便乎串、快捷的 ORM 框架店枣。
ORM(Object Relation Mapping對(duì)象關(guān)系映射)
其表現(xiàn)形式就是通過GreenDao將數(shù)據(jù)庫和Bean對(duì)象關(guān)聯(lián)起來,其表現(xiàn)形式如下圖
如何使用GreenDao叹誉?
1. 添加依賴
首先在 ? build.gradle(Module:app) 中添加依賴
compile'org.greenrobot:greendao:3.2.0'
還有
greendao {
schemaVersion1 //數(shù)據(jù)庫版本號(hào)
daoPackage'work.design.dadi.greendaotest' // 設(shè)置DaoMaster鸯两、DaoSession、Dao 包名(自己更改)
targetGenDir'src/main/java'//設(shè)置DaoMaster长豁、DaoSession钧唐、Dao目錄
}
然后還是這個(gè)文件 ?在build.gradle(Module:app) 中最上方加上
apply plugin:'org.greenrobot.greendao'
其次 在?build.gradle(Project) 中添加
classpath'org.greenrobot:greendao-gradle-plugin:3.2.1'
2. 創(chuàng)建實(shí)體類
其中 注解部分
@Entity?:表明這個(gè)實(shí)體類會(huì)在數(shù)據(jù)庫中生成一個(gè)與之相對(duì)應(yīng)的表
@Id:對(duì)象id,通過設(shè)置@Id(autoincrement = true)表示自增匠襟,只有當(dāng)Long/long時(shí)才有效
@Property:設(shè)置成員屬性名(表的列名)钝侠,如果不設(shè)置此屬性表示默認(rèn)是類成員名
@NotNull :表示此成員屬性非空
@Transient:標(biāo)識(shí)這個(gè)字段是自定義的,不會(huì)創(chuàng)建到數(shù)據(jù)庫表中
3. 生成Dao文件
點(diǎn)擊 Make Project(或者 Make Moudle 'App') 編譯一下工程 酸舍。如果配置正確帅韧,會(huì)在配置的包目錄下自動(dòng)會(huì)生成 DaoMaster,DaoSession 和 xxxDao 類 啃勉。
DaoMaster忽舟,DaoSession 和 xxxDao建議點(diǎn)開來看一下,因?yàn)槔锩娣庋b了很多東西淮阐。
4. 寫增刪改查
創(chuàng)建一個(gè)fourAction的類叮阅,進(jìn)行增刪改查代碼的書寫
然后在MainActivity中對(duì)方法進(jìn)行調(diào)用。