对FMDB的进一步封装--不会sql也能用sqlite
来源:互联网 发布:程序员表白神器 编辑:程序博客网 时间:2024/05/20 13:18
这个封装的主要目的是省去了对sql的学习,可以直接将字典数据(NSDictionary or NSMutableDictionary)转换为一个数据库表
简单得通过字典数据 or 数组数据 来进行数据库操作-增删改查
函数中用到的字典的key均对应数据库的字段值,valued对应字段值
具体的实现文件可以在我的资源中下载《FMDB的进一步封装-最新》
注: .m文件中有个头和方法,可以根据实际应用场景自行调整,这个方法是返回数据库存储地址的,包中没有包含
#import "IIBConfigFileHandler.h"NSString *getDataBaseFilePath(NSString *dbname){ NSString *filePath = [[IIBConfigFileHandler defaultHanlder] getHandlerRootPath]; return [filePath stringByAppendingPathComponent:dbname];}
接口方法:
/***** 函数中用到的字典的key均对应数据库的字段值,valued对应字段值 *****/#import <Foundation/Foundation.h>@interface MDataset : NSObject/** *直接从一个字典数据类型中生成一个数据库表,当然你是用的字典数据的key一定要是完备的 * *@paramdbname *@paramtablename *@paramdata_dictionary随意的一个完备key值的数据字典 * *@return */BOOL creatTableFromDictionary(NSString *dbname, NSString *tablename,NSDictionary *data_dictionary);/** *直接执行sql检索 * *@paramdbname *@paramsql *@paramresults返回结果 */void execQuery(NSString *dbname, NSString *sql ,NSMutableArray **results);/** *检索方法 * *@paramdbname *@paramtablename *@paramcolumn_list如果为nil 则返回所有字段 *@paramcondition_map nil表示无额外条件 *@paramresults返回结果 */void executeQuery(NSString *dbname, NSString *tablename,NSArray *column_list,NSDictionary *condition_map, NSMutableArray **results); /** *直接执行sql语句更新 * *@paramdbname *@paramsql * *@return */BOOL execUpdate(NSString *dbname, NSString *sql);/** *更新方法 * *@paramdbname *@paramtablename *@paramvalue_map 更新的字段字典,字典的key为字段名,value为字段值 *@paramcondition_map 条件字典 * *@return */BOOL executeUpdate(NSString *dbname,NSString *tablename,NSDictionary *value_map,NSDictionary *condition_map);/** *批量更新方法-单独拿出来为了避免频繁的开关数据库流 * *@paramdbname *@paramtablename *@paramvalue_maps数据的为一个元素为一个字典 *@paramcondition_map * *@return */BOOL executeUpdates(NSString *dbname,NSString *tablename,NSArray *value_maps,NSDictionary *condition_map);/** *插入方法 * *@paramdbname *@paramtablename *@paramvalue_map 插入数据字典 * *@return */BOOL executeInsert(NSString *dbname,NSString *tablename,NSDictionary *value_map);/** *批量插入方法 * *@paramdbname *@paramtablenam *@paramvalue_maps * *@return */BOOL executeInserts(NSString *dbname,NSString *tablename,NSArray *value_maps);/** *删除方法 * *@paramdbname *@paramtablename *@paramcondition_map 条件字典 * *@return */BOOL executeDelete(NSString *dbname,NSString *tablename,NSDictionary *condition_map);@end
- 对FMDB的进一步封装--不会sql也能用sqlite
- FMDB-一个sqlite的封装
- FMDB-一个sqlite的封装
- FMDB对sqlite的操作
- FMDB对sqlite的操作
- 对fmdb简单的封装
- 对FMDB的封装JRDB
- 简单封装FMDB操作sqlite的模板
- FMDB -- SQLite( 自封装的DataBaseManager )
- IOS开发模块总结(一)本地数据存储3 sqlite(FMDB开源代码对sqlite的封装)
- 对FMDB进行的二次封装
- iOS-- 对AFNetWorking库的进一步封装
- Objective-C SQLite数据库封装FMDB的介绍
- 【ios开发】使用FMDB封装类的sqlite数据库操作
- Objective-C SQLite数据库封装FMDB的介绍
- Objective-C SQLite数据库封装FMDB的介绍
- sqlite持久化封装框架for ios--sqlitepersistentobjects 和 fmdb
- ios 对FMDB 简单封装
- 1016. Phone Bills (25)-PAT
- 学习笔记----素数筛
- nginx backdoor
- 修改extjs源码真正解决:ExtJs4.0 GridPanel 数据内容不能选中复制。
- 在java代码中进行px与dip(dp)、px与sp单位值的转换
- 对FMDB的进一步封装--不会sql也能用sqlite
- (step6.1.5)hdu 1233(还是畅通工程——最小生成树)
- Processes 和 Threads 学习笔记
- jquery.cookie.js操作cookie-
- 无缝漫游 Seamless Roaming
- 越接触本质,越不会迷茫-《Microsoft SQL Server企业级平台管理实践》
- FOJ 1591 —— Coral的烦恼
- hibernate的save和saveOrUpdate方法
- 包加载失败的解决办法