greendao3.0的引入

greenDao 3的引入

  • 导入AS

    1. app module下build.gradle

      buildscript {
      
      dependencies {
      classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
      }
      }
      
      apply plugin: 'org.greenrobot.greendao'
      dependencies {
      compile 'org.greenrobot:greendao:3.0.1'
       }
      

      也可以在project/build.gradle下添加

      buildscript {
      repositories {
      jcenter()
      }
      dependencies {
      classpath 'com.android.tools.build:gradle:2.1.2'
      classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
      }
      }
      

java 类

注解: @Entity

可配置的参数:

  1. schema
  2. active
    设置为active时,那么此entity有update/delete/refresh方法
  3. nameInDb
    指定在数据库中对应的表名称
  4. indexes:表示在本表下存在多个字段索引
  5. createInDb
    标识,默认为true,如果设置为false,则是指定多个实体对应一个表,或者表被创建在greenDao之外

注解: @Id

选择一个long/Long类型的属性做eneity ID,对应于数据库表中的主键

可配置的参数

  1. autoincrement

注解: @Property

对应于表中的字段,如果不设置,则默认java类属性对应相同的表字段

注解: @NotNull

使一个属性不为空在数据库表中

注解: @Transient

指定属性不具有持久性,仅仅使用一个暂时的状态

注解: @index

指定一个属性作为索引中的字段

可配置的参数

  1. name
    修改在索引中的字段名,不使用默认的
  2. unique
    使此字段的值唯一

注解: @Unique

给字段一个UNIQUE约束

注解: @ToOne

一对一

可配置的参数

joinProperty

注解: @ToMany

一对多

可配置的参数

  1. referencedJoinProperty2. joinProperties3. JoinEntity

注解: @Keep

保持不混淆

注意

默认自动生成的DaoMaster、DaoSession等文件在build/generated/source/greendao下,所以在build.gradle下 加上

sourceSets {
        main {
            java.srcDirs = ['src/main/java', 'build/generated/source/greendao']
        }
    }

也可以在build.gradle指定生成的位置,其他属性也可以指定

  1. schemaVersion 数据库的版本号

  2. daoPackage greendao生成的java类存放的包

  3. targetGenDir greendao生成的java类存放的位置,具体位置为 此位置+包

  4. targetGenDirTest 生成的测试类存放的位置

  5. generateTests 是否生成自动测试

以下为示例

greendao {
schemaVersion 1
daoPackage "com.amugua.mvptest.base.greendao"
targetGenDir "src/main/java"
}

猜你喜欢

转载自blog.csdn.net/ljngya/article/details/53816553