greendao讀取外部數據庫 greendao數據庫升級更新

關于GreenDao

greendao讀取外部數據庫 greendao數據庫升級更新

文章插圖
greenDAO 是一個將對象映射到 SQLite 數據庫中的輕量且快速的 ORM 解決方案 。
GreenDao的優勢
1.一個精簡的庫
2.性能最大化
3.內存開銷最小化
4.易于使用的 APIs
5.對 Android 進行高度優化
GreenDao 3.0使用
API:
1.)實體@Entity注解
schema:告知GreenDao當前實體屬于哪個schema
active:標記一個實體處于活動狀態,活動實體有更新、刪除和刷新方法
nameInDb:在數據中使用的別名,默認使用的是實體的類名
indexes:定義索引,可以跨越多個列
createInDb:標記創建數據庫表**
2.)基礎屬性注解
@Id :主鍵 Long型,可以通過@Id(autoincrement = true)設置自增長
@Property:設置一個非默認關系映射所對應的列名,默認是的使用字段名舉例:@Property (nameInDb=”name”)
@NotNul:設置數據庫表當前列不能為空
@Transient:添加次標記之后不會生成數據庫表的列
3.)索引注解
@Index:使用@Index作為一個屬性來創建一個索引,通過name設置索引別名,也可以通過unique給索引添加約束
@Unique:向數據庫列添加了一個唯一的約束
4.)關系注解
@ToOne:定義與另一個實體(一個實體對象)的關系
@ToMany:定義與多個實體對象的關系
android studio 實際項目中使用
1,配置
在project下的gradle里面添加
在app里面添加
創建一個實體類
這里我只是做個demo 就只配了表面和主鍵
配好了ctrl+F9 編譯下當前Module,greedao的插件就會在配置的路徑中生成相應的代碼,
紅線是插件自動生成的,2個沒有沒有畫的,是大神對版本升級時候對數據庫的操作 。
在app入口初始化,這里我添加了版本升級的代碼 。
下面這個是不用版本升級的代碼,對GreenDao的初始化
acitivty代碼
運行結果
插入了5條數據,刪除了第一條,更新了第二條 。
版本升級的時候,注意當字段改了之后,要更改數據庫版本號,若沒有的改變的話就不用改 。
另外數據庫版本升級,demo中使用的是別人寫的一個,采用的是把原來的數據拷貝一份然后刪除,重新創建數據庫,再把數據copy回去 。
【greendao讀取外部數據庫 greendao數據庫升級更新】若是沒有對數據進行升級相關操作而直接更改數據庫版本號的話,數據會在項目更新的時候丟失 。

    推薦閱讀