Demo:github代码下载
FMDB是一款简洁、易用的封装库,可以对SQLite数据库进行轻易的数据操作,它对于多线程的并发操作进行了处理,所以是线程安全的,而上Demo中的Helper类可以更容易地使用 FMDB。
使用步骤:
1、导入FMDB和Helper到项目中
2、导入libsqlite3.0框架
3、创建一个Model的基类:BaseModel,实现以下方法
+ (LKDBHelper *)getUsingLKDBHelper{
static LKDBHelper* db;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString* dbpath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"ss.db"];
db = [[LKDBHelper alloc]initWithDBPath:dbpath];
});
return db;
}
//插入新数据
+(BOOL)insertWithData:(id)data{
LKDBHelper *helper=[BaseModel getUsingLKDBHelper];
return [helper insertToDB:data];
}
//删除
+(BOOL) deleteWithData:(id)data{
LKDBHelper *helper=[BaseModel getUsingLKDBHelper];
return [helper deleteToDB:data];
}
//更新
+ (BOOL)updateWithData:(id)data{
LKDBHelper *helper=[BaseModel getUsingLKDBHelper];
return [helper updateToDB:data where:nil];
}
/**
* 返回某张表的所有数据
*
* @param modelClass 需要处理的model
*
* @return 结果集
*/
+ (NSMutableArray *)getLocalData:(NSString *)modelClass{
return [[BaseModel getUsingLKDBHelper] search:[NSClassFromString(modelClass) class] where:nil orderBy:nil offset:0 count:1000];
}
/**
* 清空某张表
*
* @param modelClass 需要处理的model
*
* @return 处理结果
*/
+(BOOL)cleanTable:(NSString *)modelClass{
return [[BaseModel getUsingLKDBHelper] dropTableWithClass:[NSClassFromString(modelClass) class]];
}
网友评论