FMDB iOS数据库封装框架

iOS 项目里的数据库操作,用FMDB还挺顺手的。它其实就是对原生 SQLite 的封装,用的是 Objective-C,语法上更贴近日常开发习惯,接口也简单。省去了多写 C 语法的烦恼,查询、插入啥的都一行搞定。

常用的三个类你得记住:FMDatabase负责开关库和执行 SQL,FMResultSet用来看查询结果,FMDatabaseQueue多线程,避免数据冲突。配合用,稳定还高效。

比如建个表:

[db executeUpdate:@"CREATE TABLE IF NOT EXISTS Company (departmentId text PRIMARY KEY, departmentName text);"];

再查数据就直接:

FMResultSet *rs = [db executeQuery:@"SELECT * FROM Company WHERE departmentId = ?", @"D01"]; while ([rs next]) { NSLog(@"部门名:%@", [rs stringForColumn:@"departmentName"]); }

还有多线程访问的时候用FMDatabaseQueue包一下,数据库不容易出错。代码像这样:

[queue inDatabase:^(FMDatabase *db) { [db executeUpdate:@"INSERT INTO Company (departmentId, departmentName) VALUES (?, ?)", @"D02", @"人事部"]; }];

要注意几点:尽量少开关数据库,做查询最好加点错误;数据量大的时候,可以考虑加缓存,性能会提升不少。

如果你在用 Objective-C 写 iOS,还在手撸 SQLite,那真不如试试 FMDB,方便、省事、还挺稳当。

pdf 文件大小:255.79KB