iOS --- FMDB简单封装存储数据
2018-03-15 本文已影响0人
init_Solar
testFMDB.h
import <Foundation/Foundation.h>
#import "testModel.h"
@interface testFMDB : NSObject
//获取
+(NSArray *)testData;
//添加
+(void)addTestModel:(testModel *)model testId:(NSString *)testId;
//移除
+ (void)removeTestData:(NSString *)testId;
@end
testFMDB.m
#import "testFMDB.h"
#import "FMDB.h"
@implementation testFMDB
static FMDatabase *_db;
+ (void)initialize
{
// 1.打开数据库
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"playHistory.sqlite"];
_db = [FMDatabase databaseWithPath:path];
if (![_db open]) return;
// 2.创表
[_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_testData (id integer PRIMARY KEY AUTOINCREMENT,testId text NOT NULL,testModel blob NOT NULL);"];
}
//查询
+(NSArray *)movieData{
NSString *sql = @"SELECT * FROM t_testData ORDER BY id DESC;";
FMResultSet *set = [_db executeQuery:sql];
NSMutableArray *statuses = [NSMutableArray array];
while (set.next) {
NSData *statusData = [set objectForColumnName:@"testModel"];
testModel *testmodel = [NSKeyedUnarchiver unarchiveObjectWithData:statusData];
[statuses addObject:testmodel];
}
return statuses;
}
//增加
+(void)addMovieInfo:(testModel *)model testId:(NSString *)testId{
// model --> NSData
NSData *statusData = [NSKeyedArchiver archivedDataWithRootObject:model];
[_db executeUpdateWithFormat:@"INSERT INTO t_testData(testId,testModel) VALUES (%@,%@);", testId,statusData];
}
//移除
+ (void)removeTestData:(NSString *) testId{
[_db executeUpdateWithFormat:@"DELETE FROM t_testData WHERE testId = %@;", testId];
}
@end