首先呢,一想到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;
僅此記錄