Latest 0.0.3
Homepage https://github.com/liuzhao/ZPMFMDB
License MIT
Platforms ios 8.0, osx 10.9
Dependencies FMDB
Authors

封装好的FMDB,目标是不会SQL也能直接使用。

Logo

安装方法

pod ‘ZPMFMDB’

  • 针对于FMDB的二次封装
  • 支持swift和oc
  • 线程安全,支持事务操作
  • 操作简单, 支持Model和Dictionary直接存储,不侵入你的任何Model
  • 拓展性强
  • 不需要实现任何协议

使用教程

创建数据库

单例方法

如果工程只需要一个数据库,推荐使用单例方式

+ (instancetype)shareDatabase;
+ (instancetype)shareDatabase:(NSString *)dbName;
+ (instancetype)shareDatabase:(NSString *)dbName path:(NSString *)dbPath;

init方法

如果工程需要多个不同的数据库,推荐使用init方法

- (instancetype)initWithDBName:(NSString *)dbName;
- (instancetype)initWithDBName:(NSString *)dbName path:(NSString *)dbPath;

创建一个数据库和表

  // TABLE_NAME:你的表名  [Person class]:你自定义的model类
  ZPMFMDB *db = [ZPMFMDB shareDatabase:@"ZpmHome.sqlite"];
  [db zpm_createTable:TABLE_NAME dicOrModel:[Person class]];

增加

插入一条数据

  // person:你的实例化的model类
  [_db zpm_insertTable:TABLE_NAME dicOrModel:person];
  // 或者一个字典
  [_db zpm_insertTable:TABLE_NAME dicOrModel:@{@"name": @"小李"}];

插入一组数据

  // 向TABLE_NAME表中插入一组数据,其中array是一个字典或者model的集合
  [db zpm_insertTable:TABLE_NAME dicOrModelArray:array];

删除

删除一条数据

  // 删除最后一条数据
  [_db zpm_deleteTable:TABLE_NAME whereFormat:@"WHERE pkid = (SELECT min(zpid) FROM TABLE_NAME)"];

删除表中全部数据

  //删除全部数据
  [db zpm_deleteAllDataFromTable:TABLE_NAME];

更新

指定某条数据的更改

  // 更新表中最大的id的名字为小明
  [_db zpm_updateTable:TABLE_NAME dicOrModel:@{@"name":@"小明"} whereFormat:@"WHERE zpid = (SELECT max(zpid) FROM TABLE_NAME)"];
  // 或者是model
  person.name = @"小明";
  [_db zpm_updateTable:TABLE_NAME dicOrModel:person whereFormat:@"WHERE zpid = (SELECT max(zpid) FROM TABLE_NAME)"];

查找

按条件查找

  // 查找表中id是2的数据
  NSArray *personArr = [_db zpm_lookupTable:TABLE_NAME dicOrModel:[Person class] whereFormat:@"where zpid = '2'"];

查找表中所有数据

  NSArray *personArr = [_db zpm_lookupTable:TABLE_NAME dicOrModel:[Person class]];

支持

我的简书

Latest podspec

{
    "name": "ZPMFMDB",
    "version": "0.0.3",
    "summary": "u5c01u88c5u597du7684FMDBuff0cu4e0du4f1aSQLu8bedu53e5u4e5fu80fdu4f7fu7528u3002u589eu52a0u652fu6301swiftu3002",
    "description": "u5c01u88c5u597du7684FMDBuff0cu4e0du4f1aSQLu8bedu53e5u4e5fu80fdu4f7fu7528u3002u4e00u952eu521bu5efau8868u548cu952eu3002u652fu6301swiftu3002",
    "homepage": "https://github.com/liuzhao/ZPMFMDB",
    "license": "MIT",
    "authors": {
        "zhao.liu": "[email protected]"
    },
    "platforms": {
        "ios": "8.0",
        "osx": "10.9"
    },
    "source": {
        "git": "https://github.com/liuzhao/ZPMFMDB.git",
        "tag": "0.0.3"
    },
    "source_files": "ZPMFMDB/ZPMDB/*.{h,m}",
    "dependencies": {
        "FMDB": [
            "~> 2.7.2"
        ]
    }
}

Pin It on Pinterest

Share This