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

//

//  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. git之摘抄

    vn中央集权, 统一服务器, 权限安全管理 git 分布式,代码仓库历史本地有,不受约束, 可以随意开分支.

  2. VKD224B触摸芯片调试笔记

    1.通过阅读datasheet了解芯片怎么使用,一般datasheet会提供参考电路.和相应的电气参数. 通过上面的表格可以知道芯片的供电,所需电流. 这个芯片可以通过引脚选择模式.通过上面的选项设置 ...

  3. Unable to construct api.Node object for kubelet: can't get ip address of node master.example.com: lookup master.example.com on : no such host

    openshift首页进不去 启动openshift时报的错,大意是: 无法为kubelet构造api.Node对象:无法获取节点master.example.com的IP地址: 所以就联想到新装的c ...

  4. 删除本地git的远程分支和远程删除git服务器的分支

    在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了,所以就要对没有用的分支进行删除,包括紧急回滚时从中抽取某一 ...

  5. 怎样从外网访问内网Tornado

    外网访问内网Tornado 本地安装了Tornado,只能在局域网内访问,怎样从外网也能访问本地Tornado? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Tornado 默认安装 ...

  6. 51Nod 1010 只包含因子2 3 5的数

    K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = ...

  7. String.split()与StringUtils.split()

    我们平时进行简单的字符串分割的时候,尽量不要用String自身的split方法,它是匹配正则表达式的,如果遇到$这种特殊字符,需要转义一下.用StringUtils.split()方法会更方便 使用a ...

  8. 2.nginx配置教程

    1. nginx配置域名访问: 路径:vim /usr/local/nginx/conf/nginx.conf (这是我nginx的安装路径) 配置以后就不用通过ip(192.168.0.103)去访 ...

  9. SSH 远程登陆

    2019-03-10 20:41:39 一.什么是SSH 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...

  10. http content-type 与 java后端处理

    http中的常用的content-type有: application/x-www-form-urlencoded;charset=UTF-8  传递表单类数据 application/json;ch ...