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




    
    
  • 相关阅读:
    数据库常用的锁有哪些
    如何在vue3.0 vue-cli 3.x中使用jquery
    带你体验Vue2和Vue3开发组件有什么区别
    snf帆软FineReport安装,布署,配置-王春天
    SNF开发平台WinForm之--审核流使用方式
    Linux上安装服务器监视工具,名为pyDash。
    Linux上安装服务器监视工具,名为Scout_Realtime。
    bootstrap fileinput(帮助文档URL)
    【转】Windows下使用Graalvm将Javafx应用编译成exe
    【转】Windows下使用Graalvm将Javafx应用编译成exe
  • 原文地址:https://www.cnblogs.com/lcl15/p/8288094.html
Copyright © 2011-2022 走看看