美文网首页IOS收藏很屌的项目运用IOS
SQLite 数据存储更方便 - iOS

SQLite 数据存储更方便 - iOS

作者: JackCoding | 来源:发表于2016-04-22 11:25 被阅读351次

    在我们开发当中,难免有得时候会持久化数据,缓存一些数据!我写了一个面向模型存储的框架!下面是工程地址!和使用代码。  

    工程

    https://github.com/DemoDu/SQLite 

    喜欢的朋友可以点个星星哦,希望能保住到大家,谢谢


    初始化一个模型

    Persion *per = [[Persion alloc] init];

    per.age = 10;

    per.name = @"DumengDemo";

    per.girlfriend = @"范冰冰";

    per.price = 100000;

    //存入数据库  通过一个key

    [per dd_insertDataWithId:@"per1"];  

    这样就是保存一个数据    保存的时候要使用对应key


    Persion *per = [[Persion alloc] init];

    //获取对应的数据

    Persion *per1  =  [per dd_getDataFromId:@"per1"];

    NSLog(@"age = %d name = %@ girlfriend  = %@ price=%f",per1.age,per1.name,per1.girlfriend,per1.price);

    获取保存的数据利用对应key获取数据  


    NSArray *objects = [Persion dd_getAllData];

    NSLog(@"%@",objects);

    获取全部的数据 Person 是获取Person表的数据,每一个类对应一个表格  


    //删除对应key

    BOOL isyes = [Persion dd_deleteFromId:@"per1"];

    if (isyes) {

    NSLog(@"删除成功");

    }else{

    NSLog(@"删除失败");

    }  

    删除对应key的数据





    BOOL isyes = [Persion dd_deleteAll];

    if (isyes) {

    NSLog(@"删除成功");

    }else{

    NSLog(@"删除失败");

    }

    删除Person 全部的数据 就是把Persion的表删除  


    SQLiteTool  建议用这类自己在封装一个

    下面的使用和上面的几乎是相同的,上面的使用时我写的一个类扩展,就是用下面的类封装的  

    喜欢的朋友可以用一下类再次封装    


    NSString* path(){

    NSString *dbPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

    NSString *tableName = [@"persondb" stringByAppendingPathExtension:@"sqlite"];

    dbPath =  [dbPath stringByAppendingPathComponent:tableName];

    return dbPath;

    }

    //插入数据

    SQLiteTool *tool = [[SQLiteTool alloc] initWithdbPath:path()];

    Persion *persion  = [[Persion alloc] init];

    persion.name = @"Dumeng ios";

    persion.age = 20;

    persion.name = @"DumengDemo";

    persion.girlfriend = @"范冰冰";

    persion.price = 10;

    BOOL isyes =   [tool insertObject:persion intoTableName:@"person" intoSaveID:@"per1"];

    if (isyes) {

    NSLog(@"成功");

    }else{

    NSLog(@"失败");

    }

    //查找对应的数据

    SQLiteTool *tool = [[SQLiteTool alloc] initWithdbPath:path()];

    //读取对应的数据

    Persion *per =  [tool getObjectfromTableName:@"person" intoSaveID:@"per1" withClass:[Persion class]];

    NSLog(@"%@ %d",per.name , per.age);

    SQLiteTool *tool = [[SQLiteTool alloc] initWithdbPath:path()];

    //删除对应的数据

    BOOL isyes =  [tool deleteObjectfromTableName:@"person" SaveID:@"per1"];

    if (isyes) {

    NSLog(@"成功");

    }else{

    NSLog(@"失败");

    }

    //删除全部的数据

    SQLiteTool *tool = [[SQLiteTool alloc] initWithdbPath:path()];

    BOOL isyes =  [tool deleteAllObjectfromTableName:@"person"];

    if (isyes) {

    NSLog(@"成功");

    }else{

    NSLog(@"失败");

    }

    相关文章

      网友评论

      • Maru:realm其实还不错

      本文标题:SQLite 数据存储更方便 - iOS

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