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

//

//  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. HDU 1260

    Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a ...

  2. Delphi中有关窗口绘制

    Invalidate方法通知Windows应该重新绘制表单的整个表面.最重要的是Invalidate不会立即强制执行绘制操作. Windows只是存储请求,并且只会响应它当前程序完全执行后,并且只要系 ...

  3. 复习-css元素定位

    css元素定位 <style type="text/css"> body{ margin: 15px; font-family: "Adobe 宋体 Std ...

  4. Html select、option、optgroup 标签

    Html select 标签 </body> </html> <!-- select外部下拉选择框.name="xxx"标识后端获取名称 --> ...

  5. JavaScript 示例

    JavaScript 示例 <html lang="en"> <head> <meta charset="UTF-8"> & ...

  6. Linux firewalld 防火墙

    Linux firewalld 防火墙  简介 RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux system ...

  7. mysqlbinlog相关

    1.输出binlog到文件mysqlbinlog --base64-output=decode-rows -v /home/mysql/binlog/binlog.000011>/tmp/aa. ...

  8. centos7救援模式--rescue模式

    前序 经典问题:系统无法进入,如grub损坏或某个配置文件改错 操作 1 按方向键到Boot,选到Hard Driver,按减号,使其下移,最终让CD-ROM Drive到第一行,并按F10保存 2 ...

  9. 破解微信防盗链&微信公众号文章爬取方案

    破解微信图文防盗链:https://www.cnblogs.com/xsxshmily/p/8000043.html 图片解除防盗链:https://blog.csdn.net/show_ljw/ar ...

  10. tensorflow中batch normalization的用法

    网上找了下tensorflow中使用batch normalization的博客,发现写的都不是很好,在此总结下: 1.原理 公式如下: y=γ(x-μ)/σ+β 其中x是输入,y是输出,μ是均值,σ ...