1. 程式人生 > >Android GreenDao的基本使用

Android GreenDao的基本使用

前言

Android 本地資料庫有很多,Sqlite、Dbutils、LitePa、GreenDao等,其他的幾個資料庫框架都用過了,GreenDao還未在專案中用過,所以在這裡記錄下GreenDao的基本使用。

 

一、新增GreenDao支援

 1.1 在專案根目錄下的build.gradle下的程式碼新增下列程式碼:

1.2 在module下build.gradle(這裡是app下的build.gradle)中新增下列程式碼:

compile 'org.greenrobot:greendao:3.2.2'

並且在最上面新增

apply plugin: 'org.greenrobot.greendao' //新加的

1.3 在module下build.gradle android中配置greendao的資訊

greendao {
    schemaVersion 1 //資料庫版本號
    daoPackage 'hlq.com.greendao.db'// 設定DaoMaster、DaoSession、Dao 包名
    targetGenDir 'src/main/java'//設定DaoMaster、DaoSession、Dao目錄  基本上都是這個
}

我的目錄如下:

 

二、建立資料庫對應的實體類,以使用者資訊為例

2.1 新建一個User實體類,裡面有id,name、pass、sex、age五個欄位,如圖所示:

這是一個普通的實體類,我們通過註解,可以讓後續聲稱對應的表。

@Entity

表明這個實體類會在資料庫中生成一個與之相對應的表

@Id

對應資料表中的 Id 欄位

其他更多註解可以參考greendao官方網站:http://greenrobot.org/greendao/

新增完註解之後變成如下圖所示:

如果我們想讓id自增(一般id欄位都自增),我們可以改為:

ps:這裡的坑要注意,如果id自增的話,必須必須定義id型別為大寫的Long,小寫的會報錯。

然後,生成對應的setter、getter和構造方法。

2.2 點選 Make Project(或者 Make Moudle ‘App’) 編譯工程,會自動在配置的目錄下生成daoseesion等。生成如圖所示:

2.3 初始化 GreenDao,一般都在application中完成初始化操作(這裡為了演示直接寫在Activity中)

初始化操作主要就是獲取dao,程式碼如下:

DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this,"user,db");
SQLiteDatabase sqLiteDatabase = devOpenHelper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(sqLiteDatabase);
DaoSession daoSession = daoMaster.newSession();
UserDao userDao = daoSession.getUserDao();

三、資料庫操作

3.1 插入操作

User user = new User("黃林晴","123456","男",22);
userDao.insert(user);

3.2 查詢所有操作返回時實體類對應的List集合

userDao.loadAll();

為了驗證3.1插入操作,我們打印出查詢結果如下:

3.2 接下來我們再插入一條資料,再次列印如下:

打印出三條因為我們已經執行過一次了。

3.3 條件查詢,以按姓名查詢為例:

List<User> users = userDao.queryBuilder().where(UserDao.Properties.UserName.eq("Huanglinqing")).build().list();

列印結果如下:

我們看到只打印出來姓名為Huanglinqing的資料。

3.4 刪除

 userDao.deleteAll()

後續:其他操作就不一一演示了,需要的時候到官方網站去查詢API就行了。

 

歡迎關注技術公眾號,微訊號搜尋ColorfulCode 程式碼男人

分享技術文章,投稿分享,不限技術種類,不限技術深度,讓更多人因為分享而受益。