GreenDao簡單瞭解

greenDao是一個將對象映射到SQLite數據庫中的輕量且快速的ORM解決方案。

關於greenDAO的概念可以看官網greenDAO

greenDAO 優勢

1、一個精簡的庫
2、性能最大化
3、內存開銷最小化
4、易於使用的 APIs
5、對 Android 進行高度優化

一、導包

在當前項目的build 中導入

compile'org.greenrobot:greendao:3.0.1'
compile'org.greenrobot:greendao-generator:3.0.0'
apply plugin: 'org.greenrobot.greendao'
greendao {
    schemaVersion 1//這裏是版本
    daoPackage 'com.anye.greendao.gen'//這裏是放置的包 可以換成自己的
    targetGenDir 'src/main/java'
}
在整個工程的build 中 將信息補全

buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0' } }
補全後的build是這樣的
buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
創建一個user類
@Entity
public class User {
    
autoincrement 是設置主鍵是否自增    
@Id(autoincrement = true) public Long id; public String name; public String sex; private int age;}
編譯以後會生成三個類
開始寫代碼 
初始化與數據庫相關的東西

DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "recluse-db", null); SQLiteDatabase db = helper.getWritableDatabase(); DaoMaster daoMaster = new DaoMaster(db); DaoSession daoSession = daoMaster.newSession(); userDao = daoSession.getUserDao();
//調用數據庫查詢器
QueryBuilder qb = mUserDao.queryBuilder();
//查詢輸入的id是否在數據庫中存在
ArrayList<User> list = (ArrayList<User>) qb.where(UserDao.Properties.Id.eq(id)).list();
//判斷,如果大於0 證明輸入id存在
if (list.size() > 0) {
    Toast.makeText(MainActivity.this, "主鍵重複", Toast.LENGTH_SHORT).show();
} else {
    //不存在時 向數據庫添加數據
    mUserDao.insert(new User(Long.valueOf(id), name,sex,Integer.parseInt(age)));
}

//刪除指定id 的數據
mUserDao.deleteByKey(Long.valueOf(id));
//刪除全部
mUserDao.deleteAll();

查詢全部
List<User> users = mUserDao.loadAll();



其他正在學習,會不斷更新,優化這篇博客


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章