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

關於GreenDao

greenDAO 是一個將對象映射到 SQLite 數據庫中的輕量且快速的 ORM 解決方案。

安卓對數據庫操作的GreenDao的使用

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裏面添加

安卓對數據庫操作的GreenDao的使用

在app裏面添加

安卓對數據庫操作的GreenDao的使用
安卓對數據庫操作的GreenDao的使用
安卓對數據庫操作的GreenDao的使用

創建一個實體類

這裡我只是做個demo 就只配了表面和主鍵

安卓對數據庫操作的GreenDao的使用

配好了ctrl+F9 編譯下當前Module,greedao的插件就會在配置的路徑中生成相應的代碼,

紅線是插件自動生成的,2個沒有沒有畫的,是大神對版本升級時候對數據庫的操作。

安卓對數據庫操作的GreenDao的使用

在app入口初始化,這裡我添加了版本升級的代碼。

安卓對數據庫操作的GreenDao的使用

下面這個是不用版本升級的代碼,對GreenDao的初始化

安卓對數據庫操作的GreenDao的使用

acitivty代碼

安卓對數據庫操作的GreenDao的使用
安卓對數據庫操作的GreenDao的使用
安卓對數據庫操作的GreenDao的使用

運行結果

插入了5條數據,刪除了第一條,更新了第二條。

安卓對數據庫操作的GreenDao的使用

版本升級的時候,注意當字段改了之後,要更改數據庫版本號,若沒有的改變的話就不用改。

另外數據庫版本升級,demo中使用的是別人寫的一個,採用的是把原來的數據拷貝一份然後刪除,重新創建數據庫,再把數據copy回去。

若是沒有對數據進行升級相關操作而直接更改數據庫版本號的話,數據會在項目更新的時候丟失。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/224102.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:36
下一篇 2024-12-09 14:36

相關推薦

發表回復

登錄後才能評論