首先来看下几种常见的数据库。苹果自带的框架是coreData,可以导入sqlite3使用sqlite数据库。还可以使用FMDB,它是对sqlite数据库的封装,开发者不用面对c语言的sqlite开发,使用更加简单。
一. sqlite数据库:
1、是基于c语言开发的数据库
2、用c语言对数据库执行操作访问
3、sqlite是动态的数据库类型,即存储的时候是一种类型,使用的时候可以存储为其他类型
4、建立连接之后可以不关闭连接
二. FMDB
它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化,即所谓的胶水代码(Glue Code)。使用过程需要用大量的代码拼接SQL、拼装Object,并不方便
三. WCDB
WCDB是微信团队提供一个高效、易用、完整的移动端存储方案。 它包含三个模块:
1、WCDB-iOS/Mac
2、WCDB-Android
3、数据库损坏修复工具WCDBRepair
在理解WCDB之前,先来看下类字段绑定(ORM-Object Relational Mapping),在WCDB内,ORM是指
- 将一个ObjC的类,映射到数据库的表和索引;
- 将类的property,映射到数据库表的字段.
这一过程。通过ORM,可以达到直接通过Object进行数据库操作,省去拼装过程的目的。
将一个已有的ObjC类进行ORM绑定的过程如下:
- 使用
WCDB_PROPERTY
宏在头文件声明需要绑定到数据库表的字段。 - 使用
WCDB_IMPLEMENTATIO
宏在类文件定义绑定到数据库表的类。 - 使用
WCDB_SYNTHESIZE
宏在类文件定义需要绑定到数据库表的字段。