關於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回去。
若是沒有對數據進行升級相關操作而直接更改數據庫版本號的話,數據會在項目更新的時候丟失。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/224102.html
微信掃一掃
支付寶掃一掃