我们需要使用fdbm 这个三方库
如果实现线程安全 我们会选择枷锁的方式
但是fdbm 这个库提供了一种多线程安全的方式,但并不是枷锁
这里使用到一个类FMDatabaseQueue
使用方法很简单
#import "ViewController.h"
#import "FMDatabaseQueue.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
/*
1.事务:所有的操作要么成功要么失败
2.插入大量的数据使用事物
提高性能 - 数据库来做的优化
*/
// Do any additional setup after loading the view, typically from a nib.
//线程安全的类
FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:[self createPath]];
//创建表
[queue inDatabase:^(FMDatabase *db) {
}];
#if 0
//创建表
[queue inDatabase:^(FMDatabase *db) {
NSString *sql = @"insert xxx";
//我们对数据 库的操作放在这里面就可以
}];
#endif
}
- (NSString *)createPath
{
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES)lastObject];
return [documentPath stringByAppendingPathComponent:@"user.db"];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end