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"
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章