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 程式碼男人
分享技術文章,投稿分享,不限技術種類,不限技術深度,讓更多人因為分享而受益。