zoukankan      html  css  js  c++  java
  • realm数据库使用

    Realm的优点

      1.跨平台:Realm可同时兼顾iOS和Android两个平台,使用时不用考虑内部数据的架构不同。

      2.简单易用:相比Core Data 和 SQLite 晦涩难懂的代码与知识要简单的多,可以减少开发成本

      3.可视化:可以使用Realm Browser ,随时查看数据库中的数据

      4.查询速度极快

    Realm支持OC和Swift语言开发。

    使用CocoaPods进行管理Realm第三方库

    platform :ios , ‘8.0’
    target ‘项目名称’ do
    pod 'Realm'
    end 
     
    RLMRealm:Realm是框架的核心所在,该类提供默认的构造方法defaultRealm
    RLMRealm *reamlm = [RLMRealm defaultRealm];

    RLMObject :创建存储的数据模型时,需要继承这个类

    #import <Realm/Realm.h>

    @interface ACLModel : RLMObject

    @property NSString *systemSn;
    @property NSInteger permissionValue;
    @property NSString *moduleSn;

    @end

    写操作事务(Write Transactions):数据库中的所有操作(插入,查询,删除,修改)

    查询(Queries):要在数据库中检索信息

     
    创建数据库,并设置数据库的名字和存储的地方
    - (void)creatDataBaseWithName:(NSString *)databaseName {
    NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [docPath objectAtIndex:0];
    NSString *filePath = [path stringByAppendingPathComponent:databaseName];
    NSLog(@"数据库目录 = %@",filePath);
    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
    config.fileURL = [NSURL URLWithString:filePath];
    [RLMRealmConfiguration setDefaultConfiguration:config];
    }
     
    设置主键需要重写
    + (NSString *)primaryKey {
        return @"id";
    }

    单个写入操作将会阻塞其余的操作
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
      RLMRealm *realm = [RLMRealm defaultRealm];
      [realm transactionWithBlock:^{ [
        realm addObject: Car];
        }];
      });
    数据的查询

    RLMResults *results = [ACLModel objectsWhere:@"systemSn = 'assets' AND moduleSn = 'check' AND permissionValue = 0"];
    NSLog(@"======%lu",(unsigned long)results.count);




    
    
  • 相关阅读:
    mysql性能调优与架构设计(一)商业需求与系统架构对性能的影响
    Android发送数据到web服务器4种方式
    Java 操作mongodb
    父子容器互相操作的方法
    Sql Server中查询当天,最近三天,本周,本月,最近一个月,本季度的数据的sql语句
    js实现多少秒后自动跳转
    插入数据返回插入的主键Id
    日期比较
    Cookie的增删改查
    js标准化价钱
  • 原文地址:https://www.cnblogs.com/lcl15/p/8288094.html
Copyright © 2011-2022 走看看