/**
 *  对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查
 *
 *  基于 FMDB
 *
 *  操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整体进行操作
 *
 *  根据 model 对象自动建表,字段类型只支持 NSString , NSIteger , float
 *
 *  用到 runtime 运行时获取 model 属性
 *
 */

  1 //
  2 //  AGDatabaseManager.h
  3 //
  4 //  Created by Ager on 15/11/10.
  5 //  Copyright © 2015年 Ager. All rights reserved.
  6 //
  7 
  8 
  9 /**
 10  *  对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查
 11  *
 12  *  基于 FMDB
 13  *
 14  *  操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整体进行操作
 15  *
 16  *  根据 model 对象自动建表,字段类型只支持 NSString , NSIteger , float
 17  *
 18  *  用到 runtime 运行时获取 model 属性
 19  *
 20  */
 21 
 22 #import <Foundation/Foundation.h>
 23 
 24 @interface AGDatabaseManager : NSObject
 25 
 26 + (AGDatabaseManager*)shareAGDatabaseManager;
 27 
 28 /**
 29  *  创建表格
 30  *
 31  *  @param cls    model 类
 32  *  @param tbName 表名
 33  *  @param keyName 主键字段
 34  *  @param key    主键的属性设置
 35  *
 36  *  @return 创建表格是否成功
 37  */
 38 - (BOOL)creatTable:(Class)cls tableName:(NSString*)tbName keyName:(NSString*)keyName primaryKey:(NSString*) key;
 39 
 40 
 41 /**
 42  *  向表格插入数据
 43  *
 44  *  @param model  数据模型与数据库表格对应
 45  *  @param tbName 要操作的表名
 46  *
 47  *  @return 添加是否成功
 48  */
 49 - (BOOL)insert:(id)model tableName:(NSString*)tbName;
 50 
 51 
 52 /**
 53  *  更新数据
 54  *
 55  *  @param tbName 要操作的表名
 56  *  @param model 数据模型与数据库表格对应
 57  *  @param str   更新操作查要更新的数据的条件
 58  *
 59  *  @return 更新是否成功
 60  */
 61 - (BOOL)update:(id)model tableName:(NSString*)tbName where:(NSString*)str;
 62 
 63 
 64 /**
 65  *  删除数据
 66  *
 67  *  @param tbName 要删除数据的表名
 68  *  @param str    要删除的数据的查找条件
 69  *
 70  *  @return 删除是否成功
 71  */
 72 - (BOOL)deleteTableName:(NSString*)tbName where:(NSString*)str;
 73 
 74 
 75 /**
 76  *  查询数据
 77  *
 78  *  @param model  数据模型与数据库表格对应
 79  *  @param tbName 要操作的表名
 80  *  @param str    删除操作查要删除的数据的条件
 81  *
 82  *  @return 查询结果 (数组每一项为字典)
 83  */
 84 - (NSArray*)select:(Class)model tableName:(NSString*)tbName where:(NSString*)str;
 85 
 86 
 87 /**
 88  *  查询全部数据
 89  *
 90  *  @param model  数据模型与数据库表格对应
 91  *  @param tbName 要操作的表名
 92  *
 93  *  @return 查询结果 (数组每一项为字典)
 94  */
 95 - (NSArray*)selectALL:(Class)model tableName:(NSString*)tbName;
 96 
 97 
 98 
 99 
100 @end
AGDatabaseManager.h

相关文章: