iOS数据库保存Model对象-JKDBModel

2017-03-20  本文已影响771人  豆汁儿还是豆花儿

首先呢,一想到iOS的数据库,习惯用FMDB来管理,但是保存实体类对象时依然存在一些问题,所以参考JKDBModel  来进行封装,方便直接实体类对象来做增、删、改、查。

官方介绍:


既是:如果一个数据模型需要进行数据库操作,那么必须继承JKDBModel,即这个类是所有模型的父类;

所有的增删改查操作都有对应的单独和批量两种方式:

JKDBModel.h文件中方法介绍:

/** 数据库中是否存在表*/

+ (BOOL)isExistInTable;

/** 保存或更新* 如果不存在主键,保存,* 有主键,则更新*/

- (BOOL)saveOrUpdate;

/** 保存单个数据*/

- (BOOL)save;

/** 批量保存数据*/

+ (BOOL)saveObjects:(NSArray*)array;

/** 更新单个数据*/

- (BOOL)update;

/** 批量更新数据*/

+ (BOOL)updateObjects:(NSArray*)array;

/** 删除单个数据*/

- (BOOL)deleteObject;

/** 批量删除数据*/

+ (BOOL)deleteObjects:(NSArray*)array;

/** 通过条件删除数据*/

+ (BOOL)deleteObjectsByCriteria:(NSString*)criteria;

/** 清空表*/

+ (BOOL)clearTable;

/** 查询全部数据*/

+ (NSArray*)findAll;

/** 通过主键查询*/

+ (instancetype)findByPK:(int)inPk;

/** 查找某条数据*/

+ (instancetype)findFirstByCriteria:(NSString*)criteria;

/** 通过条件查找数据* 这样可以进行分页查询 @" WHERE pk > 5 limit 10"*/

+ (NSArray*)findByCriteria:(NSString*)criteria;

/*** 创建表* 如果已经创建,返回YES*/

+ (BOOL)createTable;

#pragma mark- must be override method

/** 如果子类中有一些property不需要创建数据库字段,那么这个方法必须在子类中重写*/

+ (NSArray*)transients;

仅此记录


上一篇下一篇

猜你喜欢

热点阅读