iOS数据库保存Model对象-JKDBModel
首先呢,一想到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;
仅此记录