標籤:android style http color java 使用 os strong
ORM即Object-Relational Mapping,對象關係映射。簡單理解就是把我們Java的對象與資料庫裡面的記錄進行映射,可以把實體物件持久化到資料庫中,也能把查詢到的記錄映射成Java對象。ORM讓我們徹底解放,一點也不需要再去編寫冗長晦澀的Sql語句,一切都是通過架構去做,不得不說是程式員的一大福音。
ORM架構實現的原理其實也很簡單,就是利用Java的反射機制把對象和資料庫記錄映射關聯起來。比如儲存的時候,是把對象的屬性取出來作為記錄的屬性值進行插入;而查詢的時候則是把查詢條件自動構建成一條Sql語句,把查詢到的結果集轉成對象列表。J2EE有ibatis,Hibernate架構,我們Android也有GreenDAO,ormlite,xUtils,AFinal等。它們的實現原理都一樣,不同的也只是細節方面的處理。如果興趣的同學,推薦閱讀下ActiveAndroid的源碼。Reading the fucking code!
以前寫過介紹xUtils的系列文章,其中的FinalDb模組就是一個ORM架構,也是我工作中常用的。今天我們介紹的ActiveAndroid的API也是相當的簡單友好,而且功能一樣的強大。ActiveAndroid簡潔的API給人一種用起來很舒服的感覺,今天主要是介紹下關於CRUD的簡單使用。
一、初始化
有兩種方式,一種是配置AndroidManifest的application的name屬性,同時在meta-data標籤中可選的配置db的name和version;二是在自己的Application類中繼承ActiveAndroid的Application;前兩種方式入侵性太強,還有一種只需在自訂的Application中靜態注入兩個方法即可。
二、定義實體類
實體類需繼承Model,可自訂表格名和屬性對應的欄位名
三、插入
可以實現單條資料插入,也可以批量插入,同時也支援事務。
四、刪除
支援基於引用的單條記錄刪除,也支援根據條件進行大量刪除。
五、更新
自Model中繼承來的save方法,不僅可以進行insert、還可以update;同時也能基於條件進行批量的更新。
六、查詢
ActiveAndroid的查詢API基本與sql語句的關鍵字一致,比較友好。這點和xUtils是一樣的
寫在最後:ORM架構使用起來確實是很方便的,給我們編碼提高了效率,但是也有著致命弊端。前面我們也介紹了ORM的實現的原理是Java的反射機制,反射有個缺點,就是會造成效率不高、耗時較長的現象。當有資料大量操作的時候,會把耗時加長好幾倍。所以當遇到業務中有很多的記錄要處理的時候,就不推薦大家使用架構了,還是老老實實的寫比較靠譜。今天乾貨分享到此為止,希望可以協助到大家。
如果覺得對你有所協助,歡迎大家訂閱我的公眾帳號——Android乾貨分享(ID:android_share)。下面是的二維碼,為你提供及時高質的Android乾貨。