/// 獲取全局數據庫單例 + (instancetype)sharedManager; /** * 打開數據庫 * * @return 成功/失敗 */ - ( BOOL )openDatabase; /** * 根據類名建立表格,默認主鍵爲t_default_id * * @param className 類名t_default_id */ - ( BOOL )creatTableWithClassName:( id )className; #pragma mark - #pragma mark - =============== 插入數據 =============== /** * 插入數據 * 該方法會將模型對象插入到對象類型所對應的表格中 * @param object 模型對象 */ - ( void )insertDataFromObject:( id )object; #pragma mark - #pragma mark - =============== 查詢數據 =============== /** * 獲取表格中全部數據, */ - ( NSArray *)selecteDataWithClass:( id )className; /** * 獲取表格中數據行數 */ - ( NSInteger )getTotalRowsFormClass:( id )className; /** * 獲取表格中第n條數據 */ - ( id )selecteFormClass:( id )className index:( NSInteger )index; /** * 單條件查詢 * * @param obj 類名 * @param key 屬性名 例 @"name" * @param opt 符號 例 @"=" > < * @param value 值 例 @"zhangsan" * * @return 查詢結果 */ - ( NSArray *)selectObject:(Class)className key:( id )key operate:( NSString *)operate value:( id )value; /** * 自定義語句查詢 * * @param sqlString 自定義的sql語句 * @param className 類名 * * @return 查詢結果 */ - ( NSArray *)selecteDataWithSqlString:( NSString *)sqlString class :( id )className; /** * 數據庫模糊查詢(單條件) * * @param obj 類 * @param propertyName 屬性名也是字段名 * @param type 模糊查詢的位置類型 * @param content 查詢的字符串 * * @return 查詢內容 */ - ( NSArray *)selectObject:(Class)className propertyName:( NSString *)propertyName type:(GKDatabaseSelectLocation)type content:( NSString *)content; #pragma mark - #pragma mark - =============== 更新數據 =============== /** * 數據更新 * * @param obj 類名 * @param oldValues 要更新的內容 例 @【@"name=lisi"】 * @param conditionType 條件類型 例 OR 或者 AND * @param newValues 更新條件 例 @【@"id=5",@"name=zhangsan"】 */ - ( BOOL ) updateObject:(Class)className oldValues:( NSArray *)oldValues conditionType:(QueryType)conditionType newValues:( NSArray *)newValues; #pragma mark - #pragma mark - =============== 刪除數據 =============== /** * 刪除數據 * * @param className 類名 * @param string 刪除語句,字符串須要加上單引號 例@"name = 'Chris'" / @"id = 1234" / @"integer > 1234"; * * @return 刪除結果 */ - ( BOOL )deleteObject:(Class)className withString:( NSString *)string; /** * 清空數據庫某表格的內容 * * @param className 類名 * * @return 清空結果 */ - ( BOOL )clearTableWithName:( id )className; /** * 刪除數據庫表格 * * @param className 類名 * * @return 刪除結果 */ - ( BOOL )deleteTableWithTableName:( id )className; |