XMDBModel,F(xiàn)MDB的深度封裝

本類是對(duì)FMDB的深度封裝,不需要去主動(dòng)創(chuàng)建表刪除表,使用簡(jiǎn)單方便

使用的時(shí)候創(chuàng)建的Model只要繼承于本類中的XMDBModel 類 就可以進(jìn)行所有的增刪查改功能


/** SQLite五種數(shù)據(jù)類型 */

#define SQLTEXT? ? @"TEXT"

#define SQLINTEGER? @"INTEGER"

#define SQLREAL? ? @"REAL"

#define SQLBLOB? ? @"BLOB"

#define SQLNULL? ? @"NULL"

#define PrimaryKey? @"primary key"

#define primaryId? @"pk"

@interface XMDBModel : NSObject

/** 主鍵 id */

@property (nonatomic, assign)? int? pk;

/** 列名 */

@property (retain, readonly, nonatomic) NSMutableArray? ? ? ? *columeNames;

/** 列類型 */

@property (retain, readonly, nonatomic) NSMutableArray? ? ? ? *columeTypes;

/**

*? 獲取該類的所有屬性

*/

+ (NSDictionary *)getPropertys;

/** 獲取所有屬性,包括主鍵 */

+ (NSDictionary *)getAllProperties;

/** 數(shù)據(jù)庫(kù)中是否存在表 */

+ (BOOL)isExistInTable;

/** 表中的字段*/

+ (NSArray *)getColumns;

/** 保存或更新

* 如果不存在主鍵,保存,

* 有主鍵,則更新

*/

- (BOOL)saveOrUpdate;

/** 保存單個(gè)數(shù)據(jù) */

- (BOOL)save;

/** 批量保存數(shù)據(jù) */

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

/** 更新單個(gè)數(shù)據(jù) */

- (BOOL)update;

/** 批量更新數(shù)據(jù)*/

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

/** 刪除單個(gè)數(shù)據(jù) */

- (BOOL)deleteObject;

/** 批量刪除數(shù)據(jù) */

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

/** 通過(guò)條件刪除數(shù)據(jù) */

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

/** 清空表 */

+ (BOOL)clearTable;

/** 查詢?nèi)繑?shù)據(jù) */

+ (NSArray *)findAll;

/** 通過(guò)主鍵查詢 */

+ (instancetype)findByPK:(int)inPk;

/** 查找某條數(shù)據(jù) */

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

/** 通過(guò)條件查找數(shù)據(jù)

* 這樣可以進(jìn)行分頁(yè)查詢 @" WHERE pk > 5 limit 10"

*/

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

#pragma mark - must be override method

/**

* 創(chuàng)建表

* 如果已經(jīng)創(chuàng)建,返回YES

*/

+ (BOOL)createTable;

/** 如果子類中有一些property不需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)字段,那么這個(gè)方法必須在子類中重寫(xiě)*/

+ (NSArray *)transients;

/**

*數(shù)據(jù)庫(kù)中的數(shù)據(jù)條數(shù)

*/

+ (int)numOfMessages;

關(guān)于本類使用方法 請(qǐng)移步github中下載Demo 有詳細(xì)的使用介紹

下載地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容