1、下载地址:https://github.com/pengjinguang521/LocalManger.git。
2、将demo中的文件夹EasyLocalFmdb拖入你的工程中,勾选Destination选项。
3、添加依赖库libsqlite3.tbd,在添加完之后编译,没有报错,恭喜你本地数据库集成ok。在集成过程中使用的还是屏弃掉了苹果的coreData,使用fmdb。主要太繁琐,需要操作的地方比较多。“开发至简,封装至上”。是我对开发一贯的理解和作风,程序猿都是懒人你懂的。
4、EasyLocalFmdb已经添加了FMDB 和 MJExtension如果你的项目中有这些内容的话就请不要重复引入了,代码写的比较早些,很多地方不太规范,还望使用过程中酌情雅正。
5、下面讲怎么使用:
5.1、导入头文件、创建.sqlite数据库文件
#import "DBSaveHelper.h"
//打开数据库procityarea.sqlite 如果不存在,则创建,并会在log栏打印地址
[[DBSaveHelper sharedHelper]openDB:@"procityarea.sqlite"];
5.2、创建模型对象,这是你需要做本地存储的对象,当然也可以是网络请求的对象
模型对象5.3、构建本地数据库中的表:与上面模型对应
创建数据库表5.4、存入方法,以及对数据的获取方法。
增加查询的方法5.5、修改方法、删除方法。
// //删除id = 1的记录
[[DBSaveHelper sharedHelper] DeleteTableWithTableName:TableOne ID:@"1"];
//替换id =2 的数据库信息
[[DBSaveHelper sharedHelper]UpdataDBWithTableName:TableOne AndID:@"2" AndModel:model];
至此简单的增删改查就实现了。
稍微复杂的逻辑的处理
6.1 、自己写sql传入查询,这边返回的全部是字典,没有再做模型转化处理
// 传入 sql 和 数组,数组中的内容为 sql中的?
NSString * sql1 = [NSString stringWithFormat:@"select * from %@ where name = ?",TableOne];
NSArray * arraytest = @[@"guang"];
NSArray * arraySs = [[DBSaveHelper sharedHelper]searchDBWithSql:sql1 AndArray:arraytest AndTableName:TableOne];
NSLog(@"%@",arraySs);
6.2、当数据库升级时候,因为需要向表中添加属性时候的方法,这当时是我遇到的一道面试题,好吧当时蒙逼了,我说替换本地数据库,后来查了才知道有个叫alter的方法,今天将方法追加进去。
[[DBSaveHelper sharedHelper] UpgradeTableWithTableName:TableOne andAttribute:@"sex text"];
NSArray * array4 = [[DBSaveHelper sharedHelper] searchDBAllContentWithTableName:TableOne];
//这里直接拿到模型数组
NSLog(@"array4%@",array4);
6.3、具体使用的时候当然不是像demo中将代码写在viewdidload中的 ,一般我会对应的进行二次封装写在相应的模型中并打上mark方便以后查找
数据库样式
网友评论