数据库管理类(自己封装的,挺简单的)

//

//  MyDataBaseManger.m

//  DB_Test

//

//  Created by admin on 17/2/7.

//  Copyright © 2017年 HWWY. All rights reserved.

//

#import "MyDataBaseManger.h"

#import "FMDB.h"

@interface MyDataBaseManger()

@property(nonatomic,strong)FMDatabase *dataBase;

@end

@implementation MyDataBaseManger

@synthesize dataBase;

static MyDataBaseManger *manager = nil;

+(MyDataBaseManger *)createManager

{

if (manager == nil) {

manager = [[MyDataBaseManger alloc] init];

}

return manager;

}

-(void)dataBaseWithFile:(NSString *)fileName

{

if(fileName == nil){

NSLog(@"文件名不能为空");

return;

}

NSString *path = [[NSBundle mainBundle]pathForResource:fileName ofType:nil];

if (path == nil) {

NSLog(@"找不到文件路劲");

return;

}

if (path) {

dataBase = [[FMDatabase alloc]initWithPath:path];

if (![dataBase open]) {

NSLog(@"数据库打开失败");

return;

}

}else{

NSLog(@"数据库路径获取失败");

}

}

-(NSArray *)getArrayData:(NSString *)sqlString

{

//每次对数据操作的时候都必须打开数据库,这个东西说不定啥时候就关闭了

[self openDataBase];

NSMutableArray *array = [NSMutableArray array];

FMResultSet *result = [dataBase executeQuery:sqlString];

while (result.next) {

NSDictionary *tempDict = [result resultDictionary];

[array addObject:tempDict];

}

return  array;

}

/**

数据库打开类

*/

-(void)openDataBase

{

if ([dataBase close]) {

[dataBase open];

}

}

@end

调用的地方:

//下面是一个简单的例子

//开始值得位置

int startTag = 0;

//每次的增量

static int temp = 30;

NSString *deaseName = @"%%病%%";

//拼接sql语句

NSString *sqlGetAll = [NSString stringWithFormat:@"select * from student where term_name like '%@' limit %d, %d;",deaseName, startTag,temp];

//初始化我们的数据库管理对象

dataBaseManager = [MyDataBaseManger createManager];

[dataBaseManager dataBaseWithFile:@"testDB.db"];

NSArray *arr = [dataBaseManager getArrayData:sqlGetAll];

NSLog(@"%@",arr);

下面只需要对arr里面的字典封装为model就可以使用了,上面我写的startTag和temp封装到下拉控件就可以了,是不是很简单哦。

这样封装的好处,sql语句随心写,返回数据随便解析。

iOS sqlite大数据分段加载的实现,sqlite数据库的操作的更多相关文章

  1. 大数据量高并发的数据库优化详解(MSSQL)

    转载自:http://www.jb51.net/article/71041.htm 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能. ...

  2. 大数据-将MP3保存到数据库并读取出来《黑马程序员_超全面的JavaWeb视频教程vedio》day17

    黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day17-资料源码\day17_code\day17_1\ 大数据 目 ...

  3. DB开发之大数据量高并发的数据库优化

    一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. ...

  4. 大数据量高并发的数据库优化,sql查询优化

    一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. ...

  5. 大数据系列2:Hdfs的读写操作

    在前文大数据系列1:一文初识Hdfs中,我们对Hdfs有了简单的认识. 在本文中,我们将会简单的介绍一下Hdfs文件的读写流程,为后续追踪读写流程的源码做准备. Hdfs 架构 首先来个Hdfs的架构 ...

  6. ios中常见数据存储方式以及SQLite常用的语句

    在iOS中,根据不同的需求对应的有多种数据存储方式: 1.NSUserdefaults  将数据存储到沙盒中(library),方便易用,但是只能存储系统提供的数据类型(plist),不能存储自定义的 ...

  7. 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化

    第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...

  8. 大数据入门到精通11-spark dataframe 基础操作

    // dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...

  9. 对大数据的批量导入MySQL数据库

    自己的库里有索引在用insert导入数据时会变慢很多 使用事务+批量导入 可以配置使用spring+mybatis整合的方式关闭自动提交事务(地址),选择批量导入每一百条导入使用list存储值传入到m ...

随机推荐

  1. PHP插入数据库代码,编辑,删除

    插入代码 $action=$_GET['action']; switch($action){ //添加记录 case"add"; $mail = trim(htmlspecialc ...

  2. JAVA多线程之CountDownLatch与join的区别

    首先,我们来看一个应用场景1: 假设一条流水线上有三个工作者:worker0,worker1,worker2.有一个任务的完成需要他们三者协作完成,worker2可以开始这个任务的前提是worker0 ...

  3. sitecore 数字化营销-path funnel

    路径分析器是一个应用程序,允许您查看联系人在浏览网站时所采用的各种路径.您可以查看联系人在转换目标并与广告系列互动时所采用的路径,让您深入了解哪些路径为每次转化提供最佳参与价值,以及哪些路径效率较低且 ...

  4. JVM探秘5---JVM监控命令大全

    jps命令---查看JVM进程状况 格式为:jps [options] [hostid] 功能描述: jps是用于查看有权访问的hotspot虚拟机的进程. 当未指定hostid时,默认查看本机jvm ...

  5. 8、Spring-Kafka Recving Messages

    Record Listeners The @KafkaListener annotation provides a mechanism for simple POJO listeners. The f ...

  6. Linux 系统级开启文件句柄 调优

    系统级开启文件句柄  max-file系统级别的能够打开的文件句柄的数量,Centos7默认是794168. Max-file 与 ulimit -n 的区别 max-file 表示系统级别的能够打开 ...

  7. 03:CDN原理

    1.1 CDN简介 1.CDN作用(缓存静态资源) 1. CDN的全称Content Delivery Network,(缩写:CDN)即内容分发网络. 2. CDN解决由于网络带宽小.用户访问量大. ...

  8. opencv学习之路(26)、轮廓查找与绘制(五)——最小外接矩形

    一.简介 二.轮廓最小外接矩形的绘制 #include "opencv2/opencv.hpp" using namespace cv; void main() { //轮廓最小外 ...

  9. 剑指offer(13)调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 题目分析 判断是 ...

  10. SVN更新的时候前面的子母的意思(A C D M G U R I)

    U:update 表示从服务器收到文件更新了 G:表示本地文件以及服务器文件都已更新,而且成功的合并了 其他的如下: A:add 表示有文件或者目录添加到工作目录 R:replace,从服务器替换,表 ...