FMDB SQLite数据库管理

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]];

}

你可能感兴趣的:(FMDB SQLite数据库管理)