首页
学习
活动
专区
工具
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)操作。

97520

FMDB 使用注意点

关于FMDB最基本的使用我们就不在说了,这个网上大把的文章介绍,我就在这里总结几点我最近在写一个小东西的时候注意到的一点点东西: 一: 怎么看真机上SQLite数据库 我们在开发的过程中肯定有使用到真机测试...关于FMDB最基本的使用我们就不在说了,这个网上大把的文章介绍,我就在这里总结几点我最近在写一个小东西的时候注意到的一点点东西: 二:要是你要写入大量的数据 1、引入的它叫做“事务”,事务主要是解决数据量多的耗时操作...数据库以文件的形式存在磁盘中,每次访问时都要打开一次文件,如果对数据库进行大量的操作,就很慢。...所以事务是线程安全的 EG:下面就是一个简单的数据存储关于FMDB事务的例子 /** debug @param title 统计标题 @param content 统计内容JSON数据...= [NSString stringWithFormat:@"%ld",(long)[dateComponent hour]]; return hour; } 参考学习链接: FMDB

95430

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

这篇文章重点介绍FMDB数据库插件的开发与使用。...二:实现思路分析 FMDB数据库插件是需要实现数据的新增、查询、修改、删除等功能,通过querySQLite方法来实现数据的查询,并将接口提供给Javascript开发使用,打开默认浏览器和打开自定义浏览器...,适合使用那个数据库方法 创建数据库DataBase.db 打开数据库 执行sql语句 JavaScript调用浏览器方法 三:实现源码分析 1....判断数据库语句,适合使用那个数据库方法 由于数据库查询语句中的查询参数,需要通过接口传入,并不是和sql语句一起传入,所以需要进行拼接,这就需要用到数据库查询方法querySQLite,因为查询语句中包含...创建数据库DataBase.db 在导入第三方FMDB库之后,需要在DataBasePlugin.m引入: #import "FMDatabase.h" 实现数据库的第一步,创建数据表,源码如下: -

70810

CoreData和FMDB你用哪个?

概括:         我们先说说这两个东西,CoreData 和 FMDB,其实就我自己而言觉得这两个都不错,刚开始是接触FMDB的,CoreData是工作后自己看的。...在开发中你要是只是使用一张表去存储一点简单的东西,使用FMDB也方便,可是一旦表与表之间产生属性关联的话,用FMDB就比较的麻烦了。但用 CoreData 就比较的容易。        ...,通过它将数据模型存入到数据库 NSManagedObjectContext 核心的数据库管理类 开发者通过操作它来执行对数据库的操作 NSEntityDescription 实体描述...FMDB:         我自己用着FMDB感觉一切还好,除了每次一懵逼,找找SQLite语句。         它的使用,网上真的是一大把,我就不再重复啰嗦了。...把FMDB官方的解释中文版链接给大家,有时间还是看看吧,毕竟不是每个人都知道官方解释说了什么。说不定就有遗落了的知识。 FMDB 使用方法 有一点你知道吗?

1.7K100

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

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

71720

iOS开发——FMDB的使用

在比较了Realm、SQLite之后,我决定在项目中依然使用SQLite数据库,并切还是使用FMDB这个第三方库来简化操作。...SQLite语句,从我自身来说,感觉其实没有那么好的记忆力,所以我又花了一点点时间来温习FMDB的常规操作,想到自己从来没有总结过数据库这方面的知识,今天就花一点点时间,对iOS端SQLite数据库做一点操作层面的总结...SQLite数据库,其实并不难学,打败许多初学者的,我觉得应该是它C语言中繁琐的API。我之前说我记不住,这套API,我真的看几次忘几次。所以才有了应运而生的FMDB。...建表以及关闭表 使用数据库的第一件事,就是建立一个数据库。要注意的是,在iOS环境下,只有document directory 是可以进行读写的。...的常用操作就已经讲完了,后面还会补上FMDB的多线程操作。

75130

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了。...获取数据库   如果数据库不存在则建立数据库表,存在则返回数据库对象。

65120

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

基于FMDB的ORM数据库设计 这次呢,我们来说说iOS中数据持久化的几种方案。...---- 数据库及其扩展封装 在iOS中,默认是携带sqlite3数据库的。 我们先来看看sqlite3是什么?...SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。...嘿嘿 FMDB FMDB是对sqlite3做的一层对象思想的封装。结构良好,执行效率比原生sqlite3并不逊色。优势在于他是面向对象的。...有意思 ---- DWDatabase 首先DWDatabase是一套基于FMDB的ORM数据库方案。他的设计理念就是要搞出一套无入侵性的根据模型自动落库的数据库方案。

1.1K30

FMDB | 实现数据的增删改查

一:介绍 FMDB是一个轻量级的数据库,用于将网络资源存储在本地。 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。...FMDB 将 SQLite API 进行了很友好的封装,使用起来非常方便。 下面是对FMDB的使用总结,分享给大家,另外附一份demo供大家参考。...二:FMDB优点 1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 2.对比苹果自带的Core Data框架,更加轻量级和灵活 3.提供了多线程安全的数据库操作方法,有效地防止数据混乱 三:将...FMDB第三方库引入到项目 下载FMDB库文件,demo中是直接导入项目中,可直接下载demo引用库文件,也可以使用CocoaPods导入。...五:使用FMDB进行增删改查 通常对数据库的操作,我们一般称为CURD,即对表进行创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。

94520

简单封装FMDB操作sqlite的模板

FMDB是Objective-C上操作Sqlite的开源库,与原生的操作sqlite数据库相比,有以下几个优点: 操作方便、简单、代码优雅,易于维护; 线程安全,用着更放心,很少出现过锁死数据库文件以及...FMDatabase不是线程安全的,一个FMDatabase对象一定不能在多线程中使用,为了保证线程安全,可以在FMDB中采取下面两种方式: 每个线程都创建一个FMDatabase对象,使用之前打开连接...、关闭连接和使用数据库连接操作数据库,下面就来模拟这个实现。...历史总是惊人的相似,FMDatabaseQueue的使用就是采用这样的方式来处理的,来看一段fmdb主页上提供的一个例子: FMDatabaseQueue *queue = [FMDatabaseQueue...在GitHub上的主页 或者访问@唐巧_boy 关于FMDB的这篇文章 Have Fun!

60420

·FMDB:第三方本地数据库处理框架(官方文档翻译篇)

目前,虽然SQLite也为iOS提供了数据库操作方法,但更多的时候,一般用FMDB,正如主流APP(如QQ和微信)会用到。这里介绍一个查询主流APP主要框架的网站:AppSight 。...FMDB官方源码地址传送门:https://github.com/ccgus/fmdbFMDB是SQLite的Objective-C包装器:http://sqlite.org/ 。...1.使用方法(Usage) ---- FMDB有三个主要的类: FMDatabase:表示一个单独的SQLite数据库。 用来执行SQLite的命令。...,请继续阅读:http://www.sqlite.org/inmemorydb.html) 1.2 打开数据库(Opening) 在和数据库交互之前,数据库必须是打开的。...1.5 关闭数据库(Closing) 当使用完数据库,你应该-close 来关闭数据库连接来释放SQLite使用的资源。

1.2K20

为什么要从 FMDB 迁移到 WCDB?

这其中,也不乏使用 FMDB 的开发者。他们正准备将项目的数据库模块改为 WCDB 。 对于一个已经上线运行的项目,数据库这类基础组件与业务的耦合通常较多,迁移有一定工作量的。...平滑迁移 文件格式 由于 FMDB 和 WCDB 都基于 SQLite ,因此两者在数据库的文件格式上一致。用 FMDB 创建、操作的数据库,可以直接通过 WCDB 打开、使用。...相较于没有优化的 FMDB , WCDB 的初始化速度有 107% 的性能优势。 易用性比较 与已经上线运行项目不同,新项目更关注开发的效率。此时数据库的易用和便捷更重要。...对于等价的功能, WCDB 所需的代码量往往会比 FMDB 少很多。而更少的代码量通常意味着更快的开发效率和更少的错误。 基础操作 ORM 是现代客户端数据库比较普遍的功能。...FMDB 因其直白的封装,没有提供该功能。但在设计数据库表时,开发者通常会对数据进行建模。因此开发者只需将已有建模用 WCDB 的 ORM 表达出来即可。

2.8K00

·FMDB:第三方数据库处理框架·用法示例篇(附源码Demo)

关于学习使用FMDB,除了笔者整理的官方文档翻译版,更重要的是实践和代码练习。...笔者曾查阅过FMDB示例用法的一些文献,一部分有的只讲到FMDatabase类,另一部分只讲专为多线程操作的FMDatabaseQueue类,很少有同时介绍两者用法区别的文章。这里,笔者做一个尝试。...关于FMDatabase,官方文档说:它表示一个单独的SQLite数据库,用来执行SQLite的命令。...其实FMDatabaseQueue这个类的对象已经把一个数据库和有关事务操作的方法封装在一起了。一个FMDatabaseQueue实例对象里面包含一个FMDatabase数据库对象。...参考文献: https://git.oschina.net/wenxing/ML_FMDB https://github.com/CoderWooo/FMDBDemo

93220

SQLite 并发的四种处理方式

下面我们通过 iOS 中四个常用类库 (SQLite.swift, FMDB, GRDB, Core Data) 来看看这些设计。...FMDB 方案 FMDB 与 SQLite.swift 一样都是采用串行设计,只不过 FMDB 在此基础上做了些加强:FMDB 中使用者不会接触到数据库连接而是通过在 API 闭包中组织语句来实现数据库访问...GRDB 方案 此方案借鉴了 FMDB 中的 API 设计,使用者通过在闭包中组织语句来实现数据库访问。不过与前两个相比,GRDB 最大的不同就是它不再使用串行队列设计。...对于FMDB和GRDB 关注的上下文环境则是闭包中的 SQL 语句块。...总体而言,FMDB 和 GRDB 采用的方式从安全性和灵活性上会更好一点。顺便提一下,根据微信团队的文章他们采用的可能是 GRDB 那种方式,因为在微信的应用场景下写操作是瓶颈所在。 原文地址

6.7K70
领券