Github项目

JQFMDB-FMDB的二次封装操作简便

JQFMDB是对FMDB的封装项目,具有线程安全、支持事务操作、操作简单等特性。它能直接操作Model和Dictionary,拓展性强且不侵入Model。安装方式包括Cocoapods和手动安装,在数据库的...

标签:

JQFMDB-FMDB的二次封装操作简便

一、项目简介

JQFMDB是对FMDB的封装项目。它具有多种优良特性,如线程安全、支持事务操作、操作简单,能直接对Model和Dictionary进行存储,并且拓展性强,不会侵入任何Model,也不需要实现特殊协议。

二、安装方式

  1. Cocoapods安装

    • 在Podfile中添加 pod 'JQFMDB'
    • 执行 pod installpod update
    • 导入 <JQFMDB/JQFMDB.h>
  2. 手动安装

    • 下载JQFMDB文件夹内的所有内容。
    • 将JQFMDB.h和JQFMDB.m以及FMDB添加(拖放)到工程。
    • 导入 “JQFMDB.h”。

三、使用方法

  1. 创建数据库

    • 单例方法:
      • +(instancetype)shareDatabase;,默认在NSDocumentDirectory下创建JQFMDB.sqlite。
      • +(instancetype)shareDatabase:(NSString)dbName;
      • +(instancetype)shareDatabase:(NSString)dbName path:(NSString)dbPath;,只要使用这三个方法任意一个创建成功,之后可使用三个中任意一个方法获得同一个实例。
    • init方法:
      • -(instancetype)initWithDBName:(NSString)dbName;
      • -(instancetype)initWithDBName:(NSString)dbName path:(NSString)dbPath;,操作几个数据库可以init方法获得不同实例。
  2. 创建表

    • 方式一(用Model创建表):定义类的属性,如Person类,然后使用 [db jq_createTable:@"user" dicOrModel:[Person class]]; 创建表,表的字段为类的有效属性。
    • 方式二(用字典创建表):例如 [db jq_createTable:@"user" dicOrModel:@{@"name":@"TEXT",@"age":@"INTEGER"}];,表的字段为字典的key,类型为字典的value。
  3. 增删改查操作

    • 插入:
      • 插入单条数据,支持model和dictionary,如 [db jq_insertTable:@"user" dicOrModel:person];[db jq_insertTable:@"user" dicOrModel:@{@"name":@"cleanmonkey",@"phoneNum":@(18866668888)}];
      • 插入一组数据,也支持model和dictionary混合的数组,如 [db jq_insertTable:@"user" dicOrModelArray:mArr];
      • 异步插入数据也可通过线程安全的方法实现。
    • 删除:
      • 根据条件语句删除数据,如 [db jq_deleteTable:@"user" whereFormat:@"WHERE rowid=(SELECT max(rowid)FROM user)"];
      • 删除表中全部数据,如 [db jq_deleteAllDataFromTable:@"user"];
    • 更新:
      • 根据条件更新数据,如 [db jq_updateTable:@"user" dicOrModel:@{@"name":@"testName"} whereFormat:@"WHERE rowid=(SELECT max(rowid)FROM user)"];
      • 更新所有数据,如 [db jq_updateTable:@"user" dicOrModel:@{@"name":@"godlike"} whereFormat:nil];
    • 查找:
      • 查找指定数据,如 NSArraypersonArr = [db jq_lookupTable:@"user" dicOrModel:[Person class] whereFormat:@"where name='cleanmonkey'"];
      • 查找所有表中数据,如 NSArraypersonArr = [db jq_lookupTable:@"user" dicOrModel:[Person class] whereFormat:nil];
  4. 多线程操作之线程安全

    要保证线程安全,可将操作放在 jq_inDatabase: 的block中执行,如 [db jq_inDatabase:^{[db jq_insertTable:@"user" dicOrModel:@{@"name":@"cleanmonkey"}];[db jq_lookupTable:@"user" dicOrModel:[Person class] whereFormat:@"where name='cleanmonkey'"];}];

  5. 事务操作

    事务操作放在 jq_inTransaction: 的block中,例如转账操作中,如果某个环节失败可进行回滚操作。

四、项目总结

JQFMDB是一个功能丰富的FMDB封装项目,在数据库操作方面提供了简洁方便的方式。如果在使用过程中有任何问题或者需要新功能接口,可以提issue。期待大家在评论区留言,分享使用心得或者提出改进建议。

项目地址

GitHub链接直达

数据统计

数据评估

JQFMDB-FMDB的二次封装操作简便浏览人数已经达到6,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:JQFMDB-FMDB的二次封装操作简便的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找JQFMDB-FMDB的二次封装操作简便的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于JQFMDB-FMDB的二次封装操作简便特别声明

本站链氪巴士提供的JQFMDB-FMDB的二次封装操作简便都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。

相关导航

暂无评论

暂无评论...