# DPDatabaseManager **Repository Path**: ld1122/DPDatabaseManager ## Basic Information - **Project Name**: DPDatabaseManager - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DPDatabaseManager 基于FMDB进行二次封装,创建的用途主要用于聊天记录的存储。 ##主要功能 * 直接存储Model * 从数据库中取出的对象为传入的Model类型 * 从数据库中取出的全部数据是由传入的Model类型组成的数组集合 ##支持大部分Model数据类型 例如: ``` #import @interface DemoModel : NSObject @property (nonatomic, copy) NSString *string; @property (nonatomic, assign) NSInteger integer; @property (nonatomic, assign) NSUInteger uinteger; @property (nonatomic, assign) BOOL kBool; @property (nonatomic, assign) char kchar; @property (nonatomic, assign) float kfloat; @property (nonatomic, assign) double kdouble; @property (nonatomic, assign) int kint; @property (nonatomic, assign) id kid; @property (nonatomic, retain) NSArray *array; @property (nonatomic, retain) NSMutableArray *mutableArray; @property (nonatomic, retain) NSDictionary *dictionary; @property (nonatomic, retain) NSMutableDictionary *mutableDictionary; @end ``` ##使用方法 * 单例方式实例化 ``` + (instancetype)sharedDBManager; ``` * 插入数据 ``` /* 创建表或插入数据 * * @param model 所需存储的Model数据 * @param fileName 表名 * * @return 是否创建或插入成功 */ - (BOOL)insertDataWithModel:(id)model withFileName:(NSString *)fileName; ``` * 获取表中最后一条数据 ``` /* 获取表中最后一条数据 * * @param kclass Model类 * @param fileName 表名 * * @return Model类 */ - (id)getLastDataWithModelClass:(Class)kclass withFileName:(NSString *)fileName; ``` * 倒序查找指定数量数据 ``` /* * @param count 所需数据个数 * @param kclass Model类 * @param fileName 表名 * * @return 所存Model类数组 */ - (NSArray *)getDataWithCount:(NSUInteger)count withModelClass:(Class)kclass withFileName:(NSString *)fileName; ``` * 获取表中全部数据 ``` /* * @param kclass Model类 * @param fileName 表名 * * @return 所存Model类数组 */ - (NSArray *)getAllDataWithModelClass:(Class)kclass withFileName:(NSString *)fileName; ``` * 删除表文件 ``` - (BOOL)deleteDBFileWithFileName:(NSString *)fileName; ```