数据库02-FMDB(掌握)

这是一个第三方库
而且通过模型 来封装
别人不怎么如何实现

//
//  HMViewController.m
//  02-FMDB(掌握)
//
//  Created by apple on 14/11/16.
//  Copyright (c) 2014年 heima. All rights reserved.
//

#import "HMViewController.h"
//#import "FMDB.h"
#import "HMShop.h"
#import "HMShopTool.h"

@interface HMViewController ()
//@property (nonatomic, strong) FMDatabase *db;
@end

@implementation HMViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    // 1.打开数据库
//    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"shops.sqlite"];
//    self.db = [FMDatabase databaseWithPath:path];
//    [self.db open];
//    
//    // 2.创表
//    [self.db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_shop (id integer PRIMARY KEY, name text NOT NULL, price real);"];
    // executeQuery:查询数据
//    [self.db executeQuery:<#(NSString *), ...#>];

    // executeUpdate:除查询数据以外的其他操作
//    [self.db executeUpdate:<#(NSString *), ...#>];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//    for (int i = 0; i<100; i++) {
//        HMShop *shop = [[HMShop alloc] init];
//        shop.name = [NSString stringWithFormat:@"枕头--%d", i];
//        shop.price = arc4random() % 200;
//        [HMShopTool addShop:shop];
//    }

    NSArray *shops = [HMShopTool shops];
    for (HMShop *shop in shops) {
        NSLog(@"%@ %f", shop.name, shop.price);
    }

//    [self.db executeUpdate:@"DELETE FROM t_shop WHERE price < 800;"];
//    
//    [self query];
}

- (void)query
{
    // 得到结果集
//    FMResultSet *set = [self.db executeQuery:@"SELECT * FROM t_shop;"];
//    
//    // 不断往下取数据
//    while (set.next) {
//        // 获得当前所指向的数据
//        NSString *name = [set stringForColumn:@"name"];
//        double price = [set doubleForColumn:@"price"];
//        NSLog(@"%@ %f", name, price);
//    }
}

- (void)insert
{
//    for (int i = 0; i<100; i++) {
//        NSString *name = [NSString stringWithFormat:@"手机-%d", i];
//#warning 这里的字符串不用再加上''
//        [self.db executeUpdateWithFormat:@"INSERT INTO t_shop(name, price) VALUES (%@, %d);", name, arc4random()%1000];
//    }
}

@end

HMShopTool.h (工具类)

//
//  HMShopTool.h
//  02-FMDB(掌握)
//
//  Created by apple on 14/11/16.
//  Copyright (c) 2014年 heima. All rights reserved.
//

#import <Foundation/Foundation.h>
@class HMShop;

@interface HMShopTool : NSObject
+ (NSArray *)shops;
+ (void)addShop:(HMShop *)shop;
@end


----------
//
//  HMShopTool.m
//  02-FMDB(掌握)
//
//  Created by apple on 14/11/16.
//  Copyright (c) 2014年 heima. All rights reserved.
//

#import "HMShopTool.h"
#import "FMDB.h"
#import "HMShop.h"

@implementation HMShopTool

static FMDatabase *_db;

+ (void)initialize
{
    // 1.打开数据库
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"shops.sqlite"];
    _db = [FMDatabase databaseWithPath:path];
    [_db open];

    // 2.创表
    [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_shop (id integer PRIMARY KEY, name text NOT NULL, price real);"];
}

+ (void)addShop:(HMShop *)shop
{
    [_db executeUpdateWithFormat:@"INSERT INTO t_shop(name, price) VALUES (%@, %f);", shop.name, shop.price];
}

+ (NSArray *)shops
{// 得到结果集
    FMResultSet *set = [_db executeQuery:@"SELECT * FROM t_shop;"];

    // 不断往下取数据
    NSMutableArray *shops = [NSMutableArray array];
    while (set.next) {
        // 获得当前所指向的数据
        HMShop *shop = [[HMShop alloc] init];
        shop.name = [set stringForColumn:@"name"];
        shop.price = [set doubleForColumn:@"price"];
        [shops addObject:shop];
    }
    return shops;
}
@end

HMShop.h (模型类??)

//
//  HMShop.h
//  02-FMDB(掌握)
//
//  Created by apple on 14/11/16.
//  Copyright (c) 2014年 heima. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface HMShop : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) double  price;
@end


----------

//
//  HMShop.m
//  02-FMDB(掌握)
//
//  Created by apple on 14/11/16.
//  Copyright (c) 2014年 heima. All rights reserved.
//

#import "HMShop.h"

@implementation HMShop

@end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值