美文网首页
FMDB SQLite数据库管理

FMDB SQLite数据库管理

作者: snydder | 来源:发表于2016-10-26 16:17 被阅读54次

    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数据库管理

          本文链接:https://www.haomeiwen.com/subject/wxaduttx.html