首先來看下幾種常見的數(shù)據(jù)庫。蘋果自帶的框架是coreData,可以導(dǎo)入sqlite3使用sqlite數(shù)據(jù)庫。還可以使用FMDB,它是對sqlite數(shù)據(jù)庫的封裝,開發(fā)者不用面對c語言的sqlite開發(fā),使用更加簡單。
一. sqlite數(shù)據(jù)庫:
1、是基于c語言開發(fā)的數(shù)據(jù)庫
2、用c語言對數(shù)據(jù)庫執(zhí)行操作訪問
3、sqlite是動態(tài)的數(shù)據(jù)庫類型,即存儲的時候是一種類型,使用的時候可以存儲為其他類型
4、建立連接之后可以不關(guān)閉連接
二. FMDB
它基于SQLite封裝,對于有SQLite和ObjC基礎(chǔ)的開發(fā)者來說,簡單易懂,可以直接上手;而缺點也正是在此,F(xiàn)MDB只是將SQLite的C接口封裝成了ObjC接口,沒有做太多別的優(yōu)化,即所謂的膠水代碼(Glue Code)。使用過程需要用大量的代碼拼接SQL、拼裝Object,并不方便
三. WCDB
WCDB是微信團(tuán)隊提供一個高效、易用、完整的移動端存儲方案。 它包含三個模塊:
1、WCDB-iOS/Mac
2、WCDB-Android
3、數(shù)據(jù)庫損壞修復(fù)工具WCDBRepair
在理解WCDB之前,先來看下類字段綁定(ORM-Object Relational Mapping),在WCDB內(nèi),ORM是指
- 將一個ObjC的類,映射到數(shù)據(jù)庫的表和索引;
- 將類的property,映射到數(shù)據(jù)庫表的字段.
這一過程。通過ORM,可以達(dá)到直接通過Object進(jìn)行數(shù)據(jù)庫操作,省去拼裝過程的目的。
將一個已有的ObjC類進(jìn)行ORM綁定的過程如下:
- 使用
WCDB_PROPERTY宏在頭文件聲明需要綁定到數(shù)據(jù)庫表的字段。 - 使用
WCDB_IMPLEMENTATIO宏在類文件定義綁定到數(shù)據(jù)庫表的類。 - 使用
WCDB_SYNTHESIZE宏在類文件定義需要綁定到數(shù)據(jù)庫表的字段。