该类继承自 NSObject
本部分内容放在专门的DataBase.m文件
#import "DataBase.h"
@implementation DataBase
static sqlite3 * db = nil;
+(sqlite3 *)openDB
{
//判断当前数据库是否存在,如果存在直接返回,否则进行数据库创建
if (db) {
return db;
}
//创建数据库
//获取当前数据库文件路径
NSString * dataBasePath = [[NSBundle mainBundle] pathForResource:@"cart" ofType:@"sqlite"];
//获取APP沙盒路径
NSString * searchPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
searchPath = [searchPath stringByAppendingPathComponent:@"cart.sqlite"];//名字一般一样,看着舒服
//判断沙盒中是否存在该数据库
if (![[NSFileManager defaultManager] fileExistsAtPath:searchPath]) {
//将数据库移动至沙盒当中
[[NSFileManager defaultManager] copyItemAtPath:dataBasePath toPath:searchPath error:nil];
}
//打开指定位置的数据库
sqlite3_open([searchPath UTF8String], &db);
return db;
}
+(void)closeDB
{
sqlite3_close(db);
}
@end