eiYoiOScoreData,FMDB

4- coreData基本使用(增删改查,干货)

2016-04-22  本文已影响1717人  春田花花幼儿园

一.文章概要

当前使用工具是XCode7.

这篇文章主要是写了对于基本数据类型的"增删改查"的操作,至于特殊类型比如UIImage,NSArray,NDDictionary我们在之后的几篇文章中讲到.

二.前话

从平常的使用来说,FMDB和coreData是项目中最经常使用的两个数据库持久化方式.
CoreData 首先它是一个 ORM框架。 SQLite 与 FMDB 其实都脱离不了关系型(relational)数据 而我们平时使用的编程语言却是面向对象的,都是对象型的。
在 iOS 中,coreData 和 FMDB 关于这两者的区别,我认为主要是如下几个方面

coreData

优点
(1)映射之后 直接操作对象就能进行增删改查 更贴近 程序员的生活。
(2)我们不需要再写SQL语句,避免了 SQL语句的繁琐,比如说 SQL语句经常要写一大堆的包含 values(name,sex) 还要有对应个数的?与前边的()中的属性个数对应
缺点
(1) coreData没有 java 中的 ORM 框架快速.尤其是多表操作的时候,效率并不是很高. java中的框架(Hibernate:特点:可以把 SQL语句和面型对象的查询语句混合使用.举个例子:它可以把复杂的多表操作语句用一行查询语句来执行完毕)。而 coreData操作多表的时候,需要创建多个对应数量的Requset,description,谓词,筛选器。
(2)就单纯的批量插入数据的速度 相比较FMDB 稍微慢一点点

三.FMDB

如果你之前用过sqlSever数据库的话,继续往下看,当然你也可以直接跳过这一小节

首先,想必软件工程专业或者相关专业的同学在学校学的就是sqlSever,对应的数据库课程也是免不了的.那么sql语句是我们必须要学习的."简单查询""多表查询"等等这些都是我们要学习的.恭喜你,你已经有了一定学习FMDB的基础了.

再进一步说,你之前从事java或者安卓开发工作的时候,用到了sqlSever,那么再次恭喜你,你基本已经可以FMDB的那些基本功能了.

由此,我们可见,FMDB的使用方式和之前在其他语言中使用sqlSever数据库的时候,是非常相似的.之前我们在使用sqlSever提到的那些关键点在FMDB中,也有体现,比如"打开数据库,关闭数据库""手敲sql语句,执行sql语句"......所以,FMDB,对于之前上手还是很熟悉,很简单的.

你到现在还没有使用过FMDB. 那也不用太烦恼和害怕,数据库的基本格式都是固定的.既然是固定的,拷贝一段改改就可以了.

扩展

(1)问:"什么时候使用coredata 什么时候使用FMDatabases?"

答: a. CoreData 在公司使用的比较少,用户的比较多的是FMDatabases。

b.数据存储的结构比较简单的时候,使用CoreData

c.CoreData 开发效率会高点,为什么?因为他是面向对象的,而且不用写sql语句. FMDatabases 数据结果比较复杂的时候,表与表之间的关联比较多的时候使用.

(2)coreData 其实底层也是要写sql 语句的,coreData 帮我们把sql语句封装。

四.你要的干货,利用coreData来持久化数据

第一步,创建'模型文件'


欢迎大家关注我的微博和我GitHub,我会不时分享和转发一些大牛的技术贴和开源项目.
GitHub:https://github.com/lilongcnc
博客地址:http://www.lilongcnc.cc


上一篇 下一篇

猜你喜欢

热点阅读