Initial commit
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
//
|
||||
// IfishDatabaseManager.m
|
||||
// Ifish
|
||||
//
|
||||
// Created by imac on 15/12/23.
|
||||
// Copyright © 2015年 imac. All rights reserved.
|
||||
//
|
||||
|
||||
#import "IfishDatabaseManager.h"
|
||||
#import "FMDatabase.h"
|
||||
#import "IfishDBHelper.h"
|
||||
#import "PushmassageModel.h"
|
||||
#import "IfishInformations.h"
|
||||
@implementation IfishDatabaseManager
|
||||
{
|
||||
FMDatabase *_dataBase;
|
||||
|
||||
}
|
||||
static NSString * const userTableName = @"USERTABLE";
|
||||
static NSString * const deviceTableName = @"DEVICETABLE";
|
||||
static NSString * const venderTableName = @"VENDERTABLE";
|
||||
static NSString * const shopTableName = @"SHOPTABLE";
|
||||
static NSString * const PushMassgeTableName = @"PUSHTABLE";
|
||||
static NSString * const InformationsTableName = @"INFORMATIONSTABLE";
|
||||
|
||||
|
||||
+ (instancetype)sharedManager{
|
||||
|
||||
static IfishDatabaseManager *manager = nil;
|
||||
@synchronized(self) {
|
||||
if (manager == nil) {
|
||||
manager = [[IfishDatabaseManager alloc] init];
|
||||
[manager creatTable];
|
||||
}
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
/*-(id)init{
|
||||
//使用base
|
||||
// 获取沙盒路径,因为数据库文件要存储在沙盒中
|
||||
// 找到沙盒下面的Docuemnts文件夹路径,相当于 [NSHomeDirectory() stringByAppendingPathComponents:@"Document"]
|
||||
if (self=[super init]) {
|
||||
NSString*documentPath=[NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) objectAtIndex:0];
|
||||
// 在沙盒中指定数据库文件路径
|
||||
NSString*dbPath=[documentPath stringByAppendingString:@"IfishDBM.db"];
|
||||
// 新建FMDB对象并调用initWithPath关联数据库文件
|
||||
_dataBase=[[FMDatabase alloc]initWithPath:dbPath];
|
||||
// 打开数据库创建表格 打开数据库文件,如果这个文件(dbPath)原来是存在的, 则直接打开,不会破坏原来的内容
|
||||
// 如果不存在,则自动创建一个空的数据库文件
|
||||
//用户 设备 厂家 商家 未完成!!!
|
||||
|
||||
}
|
||||
return self;
|
||||
}*/
|
||||
|
||||
|
||||
-(void)creatTable{
|
||||
FMDatabaseQueue *queue = [IfishDBHelper getDatabaseQueue];
|
||||
if (queue==nil) {
|
||||
return;
|
||||
}
|
||||
[queue inDatabase:^(FMDatabase *db) {
|
||||
//要创建的表
|
||||
if (![IfishDBHelper isTableOK:userTableName withDB:db]) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (![IfishDBHelper isTableOK: deviceTableName withDB:db]) {
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (![IfishDBHelper isTableOK: venderTableName withDB:db]) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (![IfishDBHelper isTableOK: shopTableName withDB:db]) {
|
||||
|
||||
|
||||
}
|
||||
if (![IfishDBHelper isTableOK: PushMassgeTableName withDB:db]){
|
||||
|
||||
if ([db open]) {
|
||||
|
||||
NSString*sql=@"create table if not exists pushtable(serial integer Primary Key Autoincrement,massageType Varchar(1024),massageBody Varchar(1024),massageTitle Varchar(1024),createTime Varchar(1024),deviceId Varchar(1024),showName Varchar(1024),userId Varchar(1024))";
|
||||
|
||||
if ([db executeUpdate:sql]) {
|
||||
|
||||
NSLog(@"成功创建表格 pushMassageInfo");
|
||||
|
||||
}else{
|
||||
NSLog(@"creatTable error:%@",db.lastErrorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (![IfishDBHelper isTableOK: InformationsTableName withDB:db]) {
|
||||
|
||||
if ([db open]) {
|
||||
|
||||
NSString*sql=@"create table if not exists informationstable(serial integer Primary Key Autoincrement,clickNum Varchar(1024),pinglunNum Varchar(1024),contents Varchar(1024),image Varchar(1024),infoId Varchar(1024),link Varchar(1024),title Varchar(1024))";
|
||||
|
||||
if ([db executeUpdate:sql]) {
|
||||
NSLog(@"成功创建表格 InformationsInfo");
|
||||
|
||||
}else{
|
||||
NSLog(@"creatTable error:%@",db.lastErrorMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
/*-(void)insertModel:(id)model{
|
||||
//使用单个base
|
||||
if ([_dataBase open]) {
|
||||
PushmassageModel*massagemodel=(PushmassageModel*)model;
|
||||
NSString *sql=@"insert into pushtable (massageType,massageTitle,massageBody,createTime,deviceId,showName,userId) values(?,?,?,?,?,?,?)";
|
||||
BOOL isSccess=[_dataBase executeUpdate:sql,massagemodel.massageType,massagemodel.massageTitle,massagemodel.massageBody,massagemodel.createTime,massagemodel.deviceId,massagemodel.showName,massagemodel.userId];
|
||||
if (!isSccess) {
|
||||
NSLog(@"insert error:%@",_dataBase.lastErrorMessage);
|
||||
}
|
||||
|
||||
};
|
||||
[_dataBase close];
|
||||
}*/
|
||||
|
||||
//使用baseQueue
|
||||
-(void)insertModel:(id)model{
|
||||
|
||||
|
||||
NSString *sql=@"insert into pushtable (massageType,massageTitle,massageBody,createTime,deviceId,showName,userId) values(?,?,?,?,?,?,?)";
|
||||
FMDatabaseQueue *queue = [IfishDBHelper getDatabaseQueue];
|
||||
|
||||
[queue inDatabase:^(FMDatabase *db) {
|
||||
//必须为对象类型
|
||||
PushmassageModel*massagemodel=(PushmassageModel*)model;
|
||||
BOOL isSccess = [db executeUpdate:sql,massagemodel.massageType,massagemodel.massageTitle,massagemodel.massageBody,massagemodel.createTime,massagemodel.deviceId,massagemodel.showName,massagemodel.userId];
|
||||
if (!isSccess) {
|
||||
NSLog(@"insert error:%@",db.lastErrorMessage);
|
||||
|
||||
}
|
||||
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
-(void)deleteModel:(id)model{
|
||||
|
||||
NSString *sql=@"delete from pushtable where massageType=? and massageTitle=?";
|
||||
FMDatabaseQueue *queue = [IfishDBHelper getDatabaseQueue];
|
||||
[queue inDatabase:^(FMDatabase *db) {
|
||||
//必须为对象类型
|
||||
PushmassageModel*massagemodel=(PushmassageModel*)model;
|
||||
BOOL isSccess = [db executeUpdate:sql,massagemodel.massageType,massagemodel.massageTitle];
|
||||
if (!isSccess) {
|
||||
NSLog(@"delete error:%@",db.lastErrorMessage);
|
||||
|
||||
}
|
||||
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
-(NSArray*)readModel{
|
||||
|
||||
NSMutableArray *arr=[[NSMutableArray alloc] init];
|
||||
FMDatabaseQueue *queue = [IfishDBHelper getDatabaseQueue];
|
||||
[queue inDatabase:^(FMDatabase *db) {
|
||||
NSString *sql=@"SELECT * FROM pushtable";
|
||||
FMResultSet*rs=[db executeQuery:sql];
|
||||
while ([rs next]) {
|
||||
PushmassageModel*massagemodel=[[PushmassageModel alloc] init];
|
||||
massagemodel.massageType=[rs stringForColumn:@"massageType"];
|
||||
massagemodel.massageTitle=[rs stringForColumn:@"massageTitle"];
|
||||
massagemodel.massageBody=[rs stringForColumn:@"massageBody"];
|
||||
massagemodel.createTime =[rs stringForColumn:@"createTime"];
|
||||
massagemodel.deviceId = [rs stringForColumn:@"deviceId"];
|
||||
massagemodel.showName = [rs stringForColumn:@"showName"];
|
||||
massagemodel.userId =[rs stringForColumn:@"userId"];
|
||||
//[arr insertObject:massagemodel atIndex:0];
|
||||
[arr addObject:massagemodel];
|
||||
}
|
||||
|
||||
}];
|
||||
return arr;
|
||||
}
|
||||
|
||||
-(void)insertIfishInformations:(IfishInformations*)model
|
||||
{
|
||||
|
||||
NSString *sql=@"insert into informationstable(clickNum,pinglunNum,contents,image,infoId,link,title) values(?,?,?,?,?,?,?)";
|
||||
FMDatabaseQueue *queue = [IfishDBHelper getDatabaseQueue];
|
||||
|
||||
[queue inDatabase:^(FMDatabase *db) {
|
||||
//必须为对象类型
|
||||
BOOL isSccess = [db executeUpdate:sql,[NSNumber numberWithInt:model.clickNum],[NSNumber numberWithInt:model.pinglunNum],model.contents,model.image,[NSNumber numberWithInt:model.infoId],model.link,model.title];
|
||||
if (!isSccess) {
|
||||
NSLog(@"insert error:%@",db.lastErrorMessage);
|
||||
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
-(NSMutableArray*)readInformations{
|
||||
|
||||
NSMutableArray *arr=[[NSMutableArray alloc] init];
|
||||
FMDatabaseQueue *queue = [IfishDBHelper getDatabaseQueue];
|
||||
[queue inDatabase:^(FMDatabase *db) {
|
||||
NSString *sql=@"SELECT * FROM informationstable";
|
||||
FMResultSet*rs=[db executeQuery:sql];
|
||||
while ([rs next]) {
|
||||
IfishInformations*model=[[IfishInformations alloc] init];
|
||||
model.clickNum=[rs intForColumn:@"clickNum"];
|
||||
model.pinglunNum=[rs intForColumn:@"pinglunNum"];
|
||||
model.contents=[rs stringForColumn:@"contents"];
|
||||
model.image =[rs stringForColumn:@"image"];
|
||||
model.infoId = [rs intForColumn:@"infoId"];
|
||||
model.link = [rs stringForColumn:@"link"];
|
||||
model.title =[rs stringForColumn:@"title"];
|
||||
[arr addObject:model];
|
||||
}
|
||||
}];
|
||||
return arr;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user