All Projects → smallmuou → Ppsqliteorm

smallmuou / Ppsqliteorm

Licence: mit
Sqlite数据库的ORM操作,基于FMDB,封装成framework,操作简单

PPSqliteORM

PPSqliteORM是针对Sqlite数据库进行对象化封装,减少SQL语句的操作,实现对象的写入和读取.

说明:在编译PPSqliteORMDemo之前,请先编译PPSqliteORM,否则会出现PPSqliteORM.h找不到错误.

1. 前言

开发PPSqliteORM是源于公司的一个项目,需要用到大数据存储,经过评估之后,决定采用数据库存储方式,当然也就选择了Sqlite,而对于Sqlite而已,FMDB对它已经封装了一层,基于FMDB,你可以不用再去关心sqlite底层的接口,只要关心SQL语法层面的内容,那么我不直接使用FMDB,而是在FMDB的基础上又封装了一层呢,原因有如下几个:

  • (1) 需要关注SQL语法
  • (2) 扩展性差,比如当我新建一个类,我需要再写CREATE、DELETE、SELECT SQL语句来操作这个类

基于以上两点不足,于是我决定再封装一层,于是就有了PPSqliteORM.

2. 优势

相比于FMDB,PPSqliteORM有如下优势:

  • 很少关注SQL语法
  • 扩展性强
  • 对象化操作

3. 支持数据类型

目前已经支持的数据类型有:整型(int,long,NSInteger...)、浮点(float, double)、布尔(BOOL)、字符串(NSString)、日期(NSDate)、字典(NSDictionary)、CGPoint、CGRect、CGSize、NSRange、CGVector、CGAffineTransform、UIEdgeInsets、UIOffset.

4. 如何配置

  • 编译framework并导入到你的工程中
    
    

git clone https://github.com/smallmuou/PPSqliteORM open PPSqliteORM.xcworkspace 利用xcode编译生成PPSqliteORM.framework,并导入到你的工程中 image

  • 导入sqlite动态库 image
  • 设置-ObjC
    
    

XCode -> Build Settings -> Other Linker Flags ,添加-ObjC image

  • 引入头文件
    
    

#import < PPSqliteORM/PPSqliteORM.h>

5. 如何使用

  • 实现PPSqliteORMProtocol
    
    

//Model.h @interface Model : NSObject < PPSqliteORMProtocol> ... @end

<pre>

//Model.m @implementation Model //指定表名 PPSqliteORMAsignRegisterName(@"model"); //指定主键 PPSqliteORMAsignPrimaryKey(NSTimeIntervalType); ... @end

  • 注册类
    
    

[[PPSqliteORMManager defaultManager] registerClass:[Model class] complete:nil];

  • 写入对象
    
    

[[PPSqliteORMManager defaultManager] writeObject:model complete:nil];

  • 读取对象
    
    

[[PPSqliteORMManager defaultManager] read:[Model class] condition:nil complete:^(BOOL successed, id result) { if (successed) { //读取成功 } else { //读取失败 } }];

<pre>

[[PPSqliteORMManager defaultManager] read:[Model class] condition:@"intType > 100 ORDER BY NSTimeIntervalType" complete:^(BOOL successed, id result) { if (successed) { //读取成功 } else { //读取失败 } }];

  • 删除对象
    
    

[[PPSqliteORMManager defaultManager] delete:model complete:nil];

  • 更多操作
    
    

详见PPSqliteORMManager.h头文件

6. 许可

该项目遵循MIT许可,详见LICENSE.

7. 联系

如果你在使用PPSqliteORM中遇到任何问题、或者有任何新的想法,都可以e-mail给我,我的e-mail: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].