GreenDao 應(yīng)用

1. 簡(jiǎn)介

屏幕快照 2018-04-14 10.36.40.png

2. 使用方式

  1. 1 在Project的buil.gradle里面添加配置項(xiàng)
buildscript {  
    repositories {        
        jcenter()       
        mavenCentral()   
    }    
    dependencies {        
        classpath 'com.android.tools.build:gradle:2.1.0'         
        classpath 'org.greenrobot:greendao-gradle-plugin:3.1.0'  
    }
}

2.2 在Module里面的dependencies里面添加

apply plugin: 'org.greenrobot.greendao'
...

greendao{
        schemaVersion 1
        targetGenDir 'src/main/java/'
}
compile'org.greenrobot:greendao:3.1.0'
compile'org.greenrobot:greendao-generator:3.1.0'

2.3 新建User.java

@Entity
public class User {
    @Id
    private Long id;
    @Property(nameInDb = "USERNAME")
    private String username;
    @Property(nameInDb = "NICKNAME")
    private String nickname;
}

2.4 在Application類之中添加DaoSession對(duì)象

private DaoSession daoSession;
@Override
public void onCreate() {
    super.onCreate();
    DaoMaster.DevOpenHelper helper = new 
    DaoMaster.DevOpenHelper(this,"test.db",null);
    Database db = helper.getWritableDb();
    daoSession = new DaoMaster(db).newSession();
}

public DaoSession getDaoSession() {
    return daoSession;
}

2.5 數(shù)據(jù)庫(kù)的CURD操作

private DaoSession daoSessin;
private UserDao dao;

daoSessin = ((MyApplication) getApplication()).getDaoSession();
dao = daoSessin.getUserDao();
// 增加
private void add() {
    User addUser = new User();
    addUser.setUsername("xiaoming");
    addUser.setNickname("angle");
    dao.insert(addUser);
    Toast.makeText(this,"add success.",Toast.LENGTH_SHORT).show();
}

//刪除
private void delete() {
    List<User> deleteList = dao.queryBuilder().where(
    UserDao.Properties
    .Username.eq("xiaoming"))
    .build().list();
    for (User u : deleteList) {
        dao.delete(u);
    }
    Toast.makeText(this,"delete success.",Toast.LENGTH_SHORT).show();
}

//修改
private void modify() {
    List<User> updateList = dao.queryBuilder().where(UserDao.Properties.Username
                            .eq("xiaoming"))
                            .build().list();
    for (User u : updateList) {
        u.setNickname("updated angle");
        dao.update(u);
    }
    Toast.makeText(this,"modify success.",Toast.LENGTH_SHORT).show();
}

//查找
private void select() {
    Query<User> userQuery = dao.queryBuilder()
                           .orderAsc(UserDao.Properties.Id)
                           .build();
    List<User> users = userQuery.list();
    String res = "";
    for (User u : users) {
        res += u.toString();
        res += "\r\n";
    }
    message.setText(res);
}

更多內(nèi)容

1. GreenDAO3.0應(yīng)用指南
2. Android SQLite詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、關(guān)于greenDAO greenDAO應(yīng)該算是當(dāng)前最火的數(shù)據(jù)庫(kù)開(kāi)源框架了,它是一個(gè)將對(duì)象映射到SQLite數(shù)據(jù)...
    當(dāng)幸福來(lái)敲門(mén)58閱讀 14,034評(píng)論 3 19
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,502評(píng)論 19 139
  • (一)GreenDao簡(jiǎn)介 GreenDao是一個(gè)對(duì)象關(guān)系映射(ORM)的開(kāi)源框架,目前最主流的安卓數(shù)據(jù)庫(kù)操作框架...
    miss2008閱讀 5,547評(píng)論 4 18
  • 前言 最近的項(xiàng)目需要使用到數(shù)據(jù)庫(kù),本來(lái)想用Sqlite數(shù)據(jù)來(lái)做的,但是聽(tīng)同事說(shuō)使用Greendao數(shù)據(jù)庫(kù)是真的好用...
    Smile__EveryDay閱讀 3,691評(píng)論 2 7
  • 【2018年本企業(yè)千萬(wàn)目標(biāo)勢(shì)必達(dá)成】 【 今年勢(shì)必會(huì)孵化出二個(gè)年薪30 萬(wàn)以上,三個(gè)年薪 20萬(wàn)以上,十個(gè)年薪 1...
    大德帥帥閱讀 116評(píng)論 0 0

友情鏈接更多精彩內(nèi)容