美文网首页iOS Developer
iOS应用数据持久化(三)之FMDB

iOS应用数据持久化(三)之FMDB

作者: 超人猿 | 来源:发表于2016-08-02 21:30 被阅读158次

一、FMDB是什么?

FMDB是一种以OC的方式封装了SQLite的C语言API;
FMDB是一种第三方的开源库。-> FMDB

二、FMDB核心类的介绍:

描述
FMDatabase 一个FMDatabase对象就代表一个单独的SQLite数据库用来执行SQL语句
FMResultSet 使用FMDatabase执行查询后的结果集
FMDatabaseQueue 用于在多线程中执行多个查询或更新,它是线程安全的

三、FMDB使用介绍:

1.导入libsqlite3.tbd


libsqlite3-1.png libsqlite3-2.png
2.创建数据库
<blockquote>
#define SQLite_Name @"Rfmdb.sqlite"
#define TableName @"t_Rfmdb"
static FMDatabase _fmdb;
代码示例:
创建数据库
</blockquote>
3.执行更新
<blockquote>
采用- (BOOL)executeUpdate:(NSString
)sql, ...方法执行更新(除了查询都用此方法)

SQLite中的语句创建表 (create)、插入数据(insert)、删表(drop,delete)、更改数据(update)都用于此方法。

例如:
[_fmdb executeUpdate:@"delete from t_zorn where userID = 1"];//根据用户ID = 1 ,删除表t_zorn中的数据

</blockquote>
4.执行查询
<blockquote>
采用- (FMResultSet )executeQuery:(NSString)sql, ...方法执行查询

SQLite中的语句查询数据(select)用于此方法

例如:
//查询数据
FMResultSet *set = [_fmdb executeQuery:@"SELECT *FROM t_zorn"];
//遍历结果集
while ([set next]) {
       NSString *name = [set stringForColumn:@"name"];
       NSString *number = [set stringForColumn:@"number"];
       NSString *userID = [set stringForColumn:@"userID"];
}

</blockquote>

总结:

优点 缺点
1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码;2.对比苹果自带的Core Data框架,更加轻量级和灵活;3.提供了多线程安全的数据库操作方法,有效地防止数据混乱 FMDB基于OC语言封装,失去了SQLite跨平台的优势

更多的介绍请移步参考 -> iOS学习笔记17-FMDB你好!

附上SQLite管理工具下载地址(仅供参考):

SQLite Professional
-> SQLite管理工具下载

实战:

-> FMDBDemo下载

运行时的主界面

相关文章

网友评论

    本文标题:iOS应用数据持久化(三)之FMDB

    本文链接:https://www.haomeiwen.com/subject/jbxqsttx.html