iOS数据持续化/基于FMDB封装/iOS数据库保存

一、FMDB使用
pod 'FMDB','~> 2.7'
二、记得导入libaqlite3.0
iOS数据持续化/基于FMDB封装/iOS数据库保存_第1张图片
image.png
三、封装

1、创建单例工具类,继承 FMDatabase
2、将增删改查封装到工具类里面
️注意:这里为了方便,数据库语言都封装在工具类里面,数据库数据格式都是String类型,数据库知识有限,欢迎指正 ....
️所以使用封装好的GBFMDB,不需要写数据库语句 ...

四、使用GBFMBD
1、首先肯定要建表,单例中已经创建好数据库,数据的增删改查操作都是在表里面,所以,首先得有表单:
// 这里是创建了一个名为T_GBTable的数据表,数据表的key有name、company、income
// createTable返回创建表单是否成功
BOOL createTable = [[GBFMDB shared] createTableWithTableName:@"T_GBTable" andKeys:@[@"name",@"company",@"income"]];

可以下载个 Navicat For SQLite 查看表格结构,新建的表格如下:

iOS数据持续化/基于FMDB封装/iOS数据库保存_第2张图片
image.png
iOS数据持续化/基于FMDB封装/iOS数据库保存_第3张图片
image.png
2、插入数据
// 这里用GBFMDB连续插入三条数据到表 T_GBTable 中。
// key和value的数组每一个 一一对应起来
// 例如第一个插入为
//  name =  Grabin,  company =  Apple, income = 88888

[[GBFMDB shared] insertDataToTable:@"T_GBTable" withKeys:@[@"name",@"company",@"income"] andValue:@[@"Grabin",@"Apple",@"88888"]];
[[GBFMDB shared] insertDataToTable:@"T_GBTable" withKeys:@[@"name",@"company",@"income"] andValue:@[@"Grabin1",@"Apple1",@"66000"]];
[[GBFMDB shared] insertDataToTable:@"T_GBTable" withKeys:@[@"name",@"company",@"income"] andValue:@[@"Grabin2",@"Apple2",@"2121212"]];

插入数据后表单内容如下:

iOS数据持续化/基于FMDB封装/iOS数据库保存_第4张图片
image.png
3、查询数据

a.精确查询
b.模糊查询

// 简单说明一下
// 这里是从数据表 T_GBTable 中,查找 name ==  Grabin的数据
// 返回来的字典数组,带的参数有  name 和 company

NSArray *queryResult = [[GBFMDB shared] queryDataFromTable:@"T_GBTable" withKey:@"name" andKeyWord:@"Grabin" getResultsWithKeys:@[@"name",@"company"]];
NSLog(@"精确的关键字查找结果 ==== %@",queryResult);
 
// 这里是从数据表 T_GBTable 中,模糊查找 name 中有 Grabin 的数据
// 返回来的字典数组,带的参数有  name 、 company和 income
NSArray *queryFuzzysearchResult = [[GBFMDB shared] queryFuzzysearchDataFromTable:@"T_GBTable" withKey:@"name" andKeyWord:@"Grabin" getResultsWithKeys:@[@"name",@"company",@"income"]];
NSLog(@"模糊查找结果 ==== %@",queryFuzzysearchResult);

打印结果如下:

iOS数据持续化/基于FMDB封装/iOS数据库保存_第5张图片
image.png
4、修改数据
// 这里是在表单 T_GBTable 中
// 将name = Grabin1数据中的 company改为banana,income改为1
// key value 也得对应起来

[[GBFMDB shared] updateDataToTable:@"T_GBTable" withKeys:@[@"company",@"income"] andValue:@[@"banana",@"1"] whereKey:@"name" equalTo:@"Grabin1"];

修改完结果如下:


iOS数据持续化/基于FMDB封装/iOS数据库保存_第6张图片
image.png
5、删除数据
// 这里是从表单 T_GBTable 中,删除 company 为 banana的数据
[[GBFMDB shared] deleteDataFromTable:@"T_GBTable" whereKey:@"company" equalTo:@"banana"];

删除完结果如下:


iOS数据持续化/基于FMDB封装/iOS数据库保存_第7张图片
image.png
四、GBFMDB下载

demo下载地址
喜欢点个赞呗 。。。
欢迎大神指正。

你可能感兴趣的:(iOS数据持续化/基于FMDB封装/iOS数据库保存)