GreenDao介绍

2017-09-12  本文已影响19人  andpy

GreenDao

**GitHub地址: **https://github.com/greenrobot/greenDAO/
**文档地址: **http://greenrobot.org/greendao/documentation/

市面上面主流的数据库

Orm的优势

orm对象关系映射,把数据映射成对象

ORM相比android自身提供的api

GreenDao

如何选择一个开源框架

  1. 性能
  2. 文档的完整性
  3. 流行因素
  4. 使用是否容易,学习成本
  5. 扩展性如何
    greendao综合来看,比较满足

AndroidStudio接入

文档地址:http://greenrobot.org/greendao/documentation/introduction/

//项目的build.grade
 dependencies {
    classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
  }
//appmodule配置  Android模块下面
/*针对greenDao的一些配置*/
greendao {
    schemaVersion 1 //数据库版本号
    daoPackage 'com.rao.demo.activity.home.greendao.dao' //自动生成的工具类的包名
    targetGenDir 'src/main/java' //路径
}

//添加依赖
 compile 'org.greenrobot:greendao:3.2.2'

gradle配置,基础属性

文档地址:http://greenrobot.org/greendao/documentation/modelling-entities/

// In the build.gradle file of your app project:
android {
    ....
} 
greendao {
    schemaVersion 2 //定义版本
    daoPackage      //生成相文件存放路径
    targetGenDir    //生产资源存放路径
    generateTests   //是否生成单元测试
    ...
}

@Entity
public class User {
    @Id(autoincrement = true)
    private Long id;

    @Property(nameInDb = "USERNAME")
    private String name;

    @NotNull
    private int repos;

    @Transient
    private int tempUsageCount;

    ...
}

Session操作实体的类

地址:http://greenrobot.org/greendao/documentation/sessions/

daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();

查询的操作

地址:http://greenrobot.org/greendao/documentation/queries/

List<User> joes = userDao.queryBuilder()
  .where(Properties.FirstName.eq("Joe"))
  .orderAsc(Properties.LastName)
  .list();

根据文档和dmeo案例,来看,简单入门

上一篇 下一篇

猜你喜欢

热点阅读