首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOS FMDB数据库实现增删改查

FMDB是一个轻量级的数据库,用于将网络资源存储在本地。项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。...FMDB 将 SQLite API 进行了很友好的封装,使用起来非常方便。...一:FMDB优点 1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 2.对比苹果自带的Core Data框架,更加轻量级和灵活 3.提供了多线程安全的数据库操作方法,有效地防止数据混乱 二:将...,然后点击+号引用该动态库) 三:FMDB主要的核心类: 1.FMDatabase 一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句。...四:FMDB的增删改查 通常对数据库操作,我们一般称为CURD,即对表进行创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作

93820

iOS开发——FMDB的使用

今天决定给手上的项目加上一个数据库,用来进行数据持久化操作,关于在iOS端的数据持久化方式的差异,这里也就不再赘述,相信如果真实使用并且去感受过的人,有自己的评判标准。...在比较了Realm、SQLite之后,我决定在项目中依然使用SQLite数据库,并切还是使用FMDB这个第三方库来简化操作。...SQLite语句,从我自身来说,感觉其实没有那么好的记忆力,所以我又花了一点点时间来温习FMDB的常规操作,想到自己从来没有总结过数据库这方面的知识,今天就花一点点时间,对iOS端SQLite数据库做一点操作层面的总结...建表以及关闭表 使用数据库的第一件事,就是建立一个数据库。要注意的是,在iOS环境下,只有document directory 是可以进行读写的。...的常用操作就已经讲完了,后面还会补上FMDB的多线程操作

73230

iOS--React Native FMDB数据库插件(内附Demo)

一:介绍 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS...另外,这些博文都是来源于我日常开发中的技术总结,在时间允许的情况下,我会针对技术点分别分享iOS、Android两个版本,如果有其他技术点需要,可在文章后留言,我会尽全力帮助大家。...这篇文章重点介绍FMDB数据库插件的开发与使用。...二:实现思路分析 FMDB数据库插件是需要实现数据的新增、查询、修改、删除等功能,通过querySQLite方法来实现数据的查询,并将接口提供给Javascript开发使用,打开默认浏览器和打开自定义浏览器...创建数据库DataBase.db 在导入第三方FMDB库之后,需要在DataBasePlugin.m引入: #import "FMDatabase.h" 实现数据库的第一步,创建数据表,源码如下: -

69010

Swift使用FMDB操作SQLite

本地数据库,在移动设备上使用广泛。IOS平台上自然也少不了它。最近自己折腾一个小App的时候需要使用sqlite本地数据库,上Github搜了下IOS下对SQLite的三方封装有个星星很多的FMDB。...下面我就介绍下如何在Swift下使用oc的FMDB库。   1.下载   第一步自然是去下载FMDB了。...https://github.com/ccgus/fmdb   2.建立桥接   把下载下来的zip解压。打开项目文件夹,找到fmdb文件夹,把里面所有的文件选中,拖动到你的Swfit项目中。   ...在里面输入:#import "FMDB.h"   这样我们FMDB到Swift的桥接头就建好了。   3.使用   有了桥接头,我们就可以欢快的使用FMDB了。...获取数据库   如果数据库不存在则建立数据库表,存在则返回数据库对象。

59520

iOS第三方数据库FMDB使用方法

工程中经常需要使用数据库来保存一些数据在本地手机上,iOS是自带Sqlite的,但是常用的还是第三方的类库——FMDB。...这里说一说基本的使用方法 对于数据库来说,最开始的当然是建立数据库,在使用数据库前,最好先检查一下数据库是否存在,如果存在,则把数据库实例指向已存在的那个数据库,如果不存在,则创建: //SqlTest.h...,打开后,为数据库设置缓存来提高查询效率: if (!...:YES];//为数据库设置缓存,提高查询效率 接下来的工作是建表,这里示例建立一个存储用户名和密码的表:同样的,在使用时,先检查数据库中是否有该表,有则跳过建表过程,没有则建表: if (!...,这里用到的就不止是FMDB的方法了,而是用fileManager来直接删除文件: NSError *error; //创建文件管理器 NSFileManager *fileManager

68020

FMDB线程安全访问数据库

我们是使用FMDB保存好友,联系人数据,在开始使用FMDB的进行小批量数据的读写时,开始还是蛮正常的,随着数据量以及业务的复杂增加,发现了一些离奇的问题: 1、偶现联系人数据表中存在重复记录; 2、偶现读取不到数据...,但拉数据库里面却有数据; 根据业务场景分析,确实存在并发读写的情况,由于我们使用的是单例模式,所以问题1在不进行多线程互斥访问的情况下,确实是存在这个问题,所以想到的思路是将所有读写操作都放到一个队列中...SQLITE_OPEN_READWRITE | SQLITE_OPEN_FULLMUTEX, nil) DBWrapper的封装: @interface DBWraper () //用于对所有sql操作互斥...dispatch_db_notify_main:^{                  //通知更新UI             }]; 使用LockGuard进行递归互斥锁保护单例对象的互斥方法: //只需要new这个对象就可以保证如下操作被加锁

49120

简单封装FMDB操作sqlite的模板

FMDB是Objective-C上操作Sqlite的开源库,与原生的操作sqlite数据库相比,有以下几个优点: 操作方便、简单、代码优雅,易于维护; 线程安全,用着更放心,很少出现过锁死数据库文件以及...,可以看到,其实我们关注的只是使用它来对数据库进行增删改查的操作,却每次都要写这些打开和关闭的操作,代码也显得臃肿,bad smell。...用过Java中著名的Spring框架的同学都记得里面对数据库操作提供了一个Template的机制,比如JdbcTemplate、HibernateTemplate等,使用回调函数非常优雅的分离了创建连接...、关闭连接和使用数据库连接操作数据库,下面就来模拟这个实现。...我们无需关心数据库的创建和关闭操作,只需要关心我们的业务逻辑就可以了。

57820

Realm、WCDB与SQLite移动数据库性能对比测试

Realm 是由Y Combinator孵化的创业团队开源出来的一款可以用于iOS(同样适用于Swift&Objective-C)和Android的跨平台移动数据库。...优势:兼顾iOS和Android两个平台;简单易用,学习成本低;提供了一个轻量级的数据库查看工具,开发者可以查看数据库当中的内容,执行简单的插入和删除数据的操作。...WCDB的查询速度也还可以接受,这个结果其实跟其官方给出的结果差不多:读操作基本等于FMDB速度,写操作FMDB快很多。...,不同于SQLite的SQL语句(即使用FMDB封装的操作依然有点麻烦),Realm在日常使用上非常简单,起码在这次测试的例子中两个数据库同样的一些操作,Realm的代码只有SQLite的一半。...[4] realm之于iOS https://zhuanlan.zhihu.com/p/23556740 [5] Core Data, FMDB, Realm 性能测试 http://suree.org

2.9K10

老司机出品——数据持久化之基于FMDB的ORM数据库设计

基于FMDB的ORM数据库设计 这次呢,我们来说说iOS中数据持久化的几种方案。...---- 数据库及其扩展封装 在iOS中,默认是携带sqlite3数据库的。 我们先来看看sqlite3是什么?...这里我就不放示例代码了,找了一个专门写iOS 原生sqlite3的使用的博客,大家自己看下吧。 嘿嘿 FMDB FMDB是对sqlite3做的一层对象思想的封装。...iOS FMDB库详解 他的优势在于他将增删改三个操作都抽象成update方法,查抽象成query方法,在使用上API十分简洁。短板就在于你还是要针对不同模型去组装不同的sql语句。...惯得 CoreData CoreData是苹果在iOS5之后推出的一款ORM数据库方案,同样他也是针对sqlite3的一种封装。使用它开发者可以只关心数据模型中的数据,而不应考虑数据库中如何操作

1.1K30

FMDB到WCDB、微信团队怎么说?

自己是最近才有时间看的WCDB,总结一下自己的理解和学习的东西,WCDB是微信团队开源的支持Android,也支持iOS,那当然也是会支持macOS的一个移动端数据库框架,FMDB估计做iOS的99.99%...它包含三个模块:       1、WCDB-iOS/Mac       2、WCDB-Android       3、数据库损坏修复工具WCDBRepair iOS 数据库框架对比分析     ----...除此之外,我们还希望能够支持多个线程高并发地操作数据库,以应对微信频繁收发消息的场景。 易用;这是微信开源的原则,也是WCDB的原则。...完整;数据库操作是一个复杂的场景,我们希望数据库组件能完整覆盖各种场景。包括数据库损坏、监控统计、复杂的查询、反注入等。...,就简单的完成了ORM的基本操作,想要了解更过的关于ORM宏的用法以及定义,还是查看Wiki文档:ORM使用教程  WCDB 初试 - CRUD  ----       上面说完了ORM的操作,下面说说基本的数据库的创建以及

2K90

iOS之手把手教你学会使用sqlite,并应用于实际开发

iOS中,如何方便的使用FMBD进行项目开发。...---- 数据库的使用步骤一般如下: 1.创建数据库; 2.创建表(如果表不存在); 3.对表进行操作(增、删、改、查); 4.一般有第四步:在3操作完,查询一下结果,看看数据库操作语句写的是否正确...,FMDB中,删除(delete)、插入(insert)、更新(update)和正常的数据库都一样,一条String类型的语句,执行一下就可以; 但是!!...---- 贴一下正常的使用方法:因为我们一般在iOS中,使用select语句,不仅仅是检验操作语句,而是要展示数据-->一般是多条数据,所有可以我通常是返回一个数组展示查询结果!...---- 使用sqliteManager进行操作 通过sqliteManager-实现对项目的select查询 这样,我们在项目中,比如执行了删除操作时,在FMDB中,我们可能需要用到FMResultSet

1.5K30

iOS---iOS中SQLite的使用

一.SQLite的使用 采用SQLite数据库来存储数据。SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些。还是一步步来吧!...使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。...二.FMDB的使用 github地址是https://github.com/ccgus/fmdb // 继承 # pod 'FMDB/SQLCipher' 1.FMDB的创建: NSString...@"CREATE TABLE IF NOT EXISTS t_shop (id integer PRIMARY KEY, name text NOT NULL, price real);"]; 4.表操作...表的一些操作 // executeQuery:查询数据 // [self.db executeQuery:NSString *]; // executeUpdate:除查询数据以外的其他操作

1.3K80

SQLite 并发的四种处理方式

下面我们通过 iOS 中四个常用类库 (SQLite.swift, FMDB, GRDB, Core Data) 来看看这些设计。...操作隔离:连续的两个数据库查询操作可能会出现结果差异,因为在并发环境下你无法保证着两个读操作中间不会出现写操作操作冲突:并发环境下数据库的新增和修改操作执行的时序并不一定与调用时序是一致的。...FMDB 方案 FMDB 与 SQLite.swift 一样都是采用串行设计,只不过 FMDB 在此基础上做了些加强:FMDB 中使用者不会接触到数据库连接而是通过在 API 闭包中组织语句来实现数据库访问...GRDB 方案 此方案借鉴了 FMDB 中的 API 设计,使用者通过在闭包中组织语句来实现数据库访问。不过与前两个相比,GRDB 最大的不同就是它不再使用串行队列设计。...这意味着,在特定线程运行费时的数据库同步写操作的时候用于更新 UI 的数据库操作不会像前两种方案一样被阻塞住。也就是说,写操作对于读操作来说是透明的。

6.4K70

iOS快速入门

开发入门 (1) 斯坦福白胡子老头iOS8视频 斯坦福大学公开课:iOS 8开发 这个公开课每个iOS版本都有,基本是用一个demo来讲解iOS开发,每个版本的demo都不一样,iOS7是用Objective-C...(2) iOS工程的目录结构 Round 1 - iOS项目工程及目录结构 iOS项目工程及目录结构 区分不同层次的通用组件。 General Level, 最通用的组件,可以在不同项目里复用。...然后 CocoaPods 就会进行下载,集成,然后修改或者创建我们项目的 workspace 文件,这一系列整体操作。...3.x 使用 FMDB FMDBiOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API [iOS]数据库第三方框架FMDB详细讲解 FMDB 使用方法 libextobjc...检测手机网络状态 MJRefresh 下拉刷新,上拉加载更多组件 Toast Toast MBProgressHUD 半透明提示框 DateTools 用于提高Objective-C中日期和时间相关操作的效率

58920

iOS原生sqlite3框架操作数据库

iOS开发的基本上都知道fmdb,自从用了fmdb之后都忘记了原生的sqlite3操作了(fmdb太好用了)。...SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。...SQLite最初的设计目标是用于嵌入式系统,TA占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,目前应用于Android、iOS、Windows Phone等智能手机。...SQLite支持的数据类型 类型 说明 INTEGER 有符号整型 REAL 浮点型 TEXT 字符串类型,采用UTF-8 UTF-16编码,在iOS中注意转换 BLOB 大二进制对象类型,能够存放任何二进制数据...NSString * idNum = model.idNum; //绑定操作 //第一个参数 语句对象

1.2K50

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券