2019-03-14 資料庫:Greendao 整合
前言
DreenDAO is a light & fast ORM for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.
DreenDAO是一款輕巧快捷的Android版ORM,可將物件對映到SQLite資料庫。 greenDAO針對Android進行了高度優化,效能卓越,佔用記憶體極少。
GreenDao 3.2.2 配置
- Add the following Gradle configuration to your Android project. In your root build.gradle file:
在工程根目錄 build.gradle 檔案中 新增配置。
buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.1.1' classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin } }
- In your app modules app/build.gradle file:
在 App 模組 build.gradle 檔案中 新增配置
apply plugin: 'org.greenrobot.greendao' greendao { schemaVersion 1 daoPackage '包名.gen' targetGenDir 'src/main/java' } .... dependencies { .... implementation 'org.greenrobot:greendao:3.2.2' }
- 建立實體物件類
不需要自己寫get和set方法 , 在生成表的時候會自動生成
不要忘了在類名上標記@Entity註解
不要忘了在類名上標記@Entity註解
不要忘了在類名上標記@Entity註解
@Entity:告訴GreenDao該物件為實體,只有被@Entity註釋的Bean類才能 被dao類操作 @Id:物件的Id,使用Long型別作為EntityId,否則會報錯。(autoincrement = true)表示主鍵會自增,如果false就會使用舊值 @Property:可以自定義欄位名,注意外來鍵不能使用該屬性 @NotNull:屬性不能為空 @Transient:使用該註釋的屬性不會被存入資料庫的欄位中 @Unique:該屬性值必須在資料庫中是唯一值 @Generated:編譯後自動生成的建構函式、方法等的註釋,提示構造函 數、方法等不能被修改
寫好實體類之後重新編譯 (command+F9)(Make project )