GreenDao 应用

1. 简介

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

2. 使用方式

  1. 1 在Project的buil.gradle里面添加配置项
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对象

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 数据库的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);
}

更多内容

1. GreenDAO3.0应用指南
2. Android SQLite详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、关于greenDAO greenDAO应该算是当前最火的数据库开源框架了,它是一个将对象映射到SQLite数据...
    当幸福来敲门58阅读 13,903评论 3 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • (一)GreenDao简介 GreenDao是一个对象关系映射(ORM)的开源框架,目前最主流的安卓数据库操作框架...
    miss2008阅读 5,293评论 4 18
  • 前言 最近的项目需要使用到数据库,本来想用Sqlite数据来做的,但是听同事说使用Greendao数据库是真的好用...
    Smile__EveryDay阅读 3,640评论 2 7
  • 【2018年本企业千万目标势必达成】 【 今年势必会孵化出二个年薪30 万以上,三个年薪 20万以上,十个年薪 1...
    大德帅帅阅读 99评论 0 0