1.項(xiàng)目工具說(shuō)明
- 開(kāi)發(fā)工具:Android Studio3.0
- greenDAO版本:3.2.2
- 數(shù)據(jù)庫(kù)查看工具:SQLiteStudio v2.15
2.Android Studio配置greenDAO
-
在項(xiàng)目根目錄的build.gradle文件中配置以下信息
image -
在項(xiàng)目工程()根目錄build.gradle文件配置以下信息
image -
配置build后生成的相關(guān)java文件的位置(可以不配置)
image
schemaVersion : 指定數(shù)據(jù)庫(kù)schema版本號(hào),遷移等操作會(huì)用到
daoPackage :通過(guò)gradle插件生成的數(shù)據(jù)庫(kù)相關(guān)文件的包名,默認(rèn)為你的entity所在的包名
targetGenDir :這就是我們上面說(shuō)到的自定義生成數(shù)據(jù)庫(kù)文件的目錄了,可以將生成的文件放到我們的java目錄中,而不是build中,這樣就不用額外的設(shè)置資源目錄了
說(shuō)明:如果沒(méi)有配置以上選項(xiàng),生成文件的目錄在工程的\app\build\generated\source\greendao位置處
image
3.greenDAO的使用
-
編寫(xiě)GreenDaoManager文件
image -
在Application中初始化GreenDAO
image -
編寫(xiě)java bean和使用的常用注解說(shuō)明
image
@Entity: 實(shí)體注解</br>
@NotNull:設(shè)置表中當(dāng)前列的值不可為空
@Convert:指定自定義類型
@Generated:GreenDao運(yùn)行所產(chǎn)生的構(gòu)造函數(shù)或者方法,被此標(biāo)注的代碼可以變更或者下次運(yùn)行時(shí)清除
@Id:主鍵 Long型,可以通過(guò)@Id(autoincrement = true)設(shè)置自增長(zhǎng)。通過(guò)這個(gè)注解標(biāo)記的字段必須是Long,數(shù)據(jù)庫(kù)中表示它就是主鍵,并且默認(rèn)是自增的
@Property:設(shè)置一個(gè)非默認(rèn)關(guān)系映射所對(duì)應(yīng)的列名,默認(rèn)是的使用字段名 舉例:@Property (nameInDb="name")
@Index:使用@Index作為一個(gè)屬性來(lái)創(chuàng)建一個(gè)索引
@ToOne:定義與另一個(gè)實(shí)體(一個(gè)實(shí)體對(duì)象)的關(guān)系
@Transient:添加次標(biāo)記之后不會(huì)生成數(shù)據(jù)庫(kù)表的列
@JoinEntity:定義表連接關(guān)系
@Unique:向數(shù)據(jù)庫(kù)列添加了一個(gè)唯一的約束
@JoinProperty:定義名稱和引用名稱屬性關(guān)系
@Keep:注解的代碼段在GreenDao下次運(yùn)行時(shí)保持不變 1.注解實(shí)體類:默認(rèn)禁止修改此類 2.注解其他代碼段,默認(rèn)禁止修改注解的代碼段
@OrderBy:指定排序
@ToMany:定義與多個(gè)實(shí)體對(duì)象的關(guān)系
-
使用GreenDao向數(shù)據(jù)庫(kù)插入數(shù)據(jù)
image -
使用GreenDao查詢數(shù)據(jù)庫(kù)
image -
使用GreenDao刪除數(shù)據(jù)庫(kù)
image -
使用GreenDao修改數(shù)據(jù)庫(kù)
image -
使用GreenDao執(zhí)行Sql語(yǔ)句
image











