LiteOrm是Github上一款開源的Android資料庫框架。
LiteOrm是一個速度快、小巧、強大的android ORM框架類庫,讓你一行代碼實現資料庫的增刪改查操作,以及實體關係的持久化和自動映射。
基本介紹
- 基於系統:Android
- 框架類型:資料庫框架
目標,原則,特色,設計理念,
目標
簡單、強大、最有用的android ORM 框架庫
原則
- 輕量、專注、性能優先、執行緒無關,專注數據及其關係存儲和操作。
- 無需工具輔助,不需要無參構造,不需要繁多註解,約定優於配置。
- 使用極致簡約,例如:db.save(u); db.query(U.class); db.deleteAll(U.class);
特色
- 支持多庫:每個資料庫檔案對應一個LiteOrm管理類實例。
- SD卡存儲:可以將DB檔案放在你認為合理的位置。
- 自動建表:開發者無需關心資料庫以及表細節。
- 關係存儲和恢復:真正實現實體關係映射持久化以及恢復,只需在實體的關聯屬性上標出關係類型即可。
- 獨立和級聯:可平滑切換,獨立操作性能高,僅保存該對象數據;級聯操作更強大,關聯對象和關係一併保存。
- 智慧型列探測:App升級或者Model改變,新加了屬性欄位,該欄位將被探測到並加入資料庫中,因此無需擔心新欄位不被存儲。
- 豐富API支持:save(replace), insert, update, delete, query, mapping, etc。
- 自動識別類型:分別轉化為以sqlite支持的TEXT, REAL, INTEGER, BLOB幾種數據類型存儲。
- 自動構建對象,通過反射和探測構造函式參數等hack手法新建對象,大多情況下亦不需要無參構造函式。
- 更新指定列,可靈活、強制、批量賦值,強制賦值將無視被操作對象的真實值。
- 存儲序列化欄位:Date、ArrayList、Vector等各種容器智慧型保存及讀取。
- 約束性語法支持:NOT NULL, UNIQUE, DEFAULT, COLLATE, CHECK, PRIMARY KEY,支持衝突算法。
- 靈活的查詢和刪除:columns, where, roder, limit, having group, etc。
設計理念
LiteOrm主線思路是約定大於配置,所以你可以用極少的註解完成複雜數據的存儲。
大多情況下不要求開發者為每個對象添加一個無參構造,這看起來傻傻的很多餘。
關注性能,代碼每個模組我都有仔細琢磨,各個功能的實現繞過了android提供的直接接口而比較貼近底層的實現。
超級專注,你甚至看不到任何包括執行緒在內的其他功能存在,你根本不用擔心增加你項目的負擔,引入一個大包袱。
簡約的背後,往往是複雜。而這一切,就是為了還原面向對象本應有的體驗,讓增加的部分,並未增加。