iOS连接MySQL数据库-------OHMySQL

16 篇文章 0 订阅
1 篇文章 0 订阅

          因实验需要,我需要在网络服务器上挂一个数据库,并在通过手机直连数据库,对数据库进行增删改查。经过学习,发现了一个好用的框架------OHMySQL。这里简单介绍一下这个框架的使用

   首先新建一个文件,用于存储数据库返回的数据内容,因为我数据库表中有三个属性,分别是location,room,rssi。所以在.h文件中声明三个对应的变量

.h代码如下:


@property(nonatomic,copy)NSString *location;
@property(nonatomic,copy)NSString *room;
@property(nonatomic,copy)NSString *rssi;



-(instancetype)initWithDict:(NSDictionary *)dict;
+(instancetype)testWithDict:(NSDictionary *)dict;

.m文件代码如下:

#import "DBdata.h"

@implementation DBdata
-(instancetype)initWithDict:(NSDictionary *)dict
{
    if (self = [super init]) {
        [self setValuesForKeysWithDictionary:dict];
    }
    return  self;
}
+(instancetype)testWithDict:(NSDictionary *)dict
{
    return [[self alloc]initWithDict:dict];
}

@end

下载OHMySQL框架到项目中

pod 'OHMySQL'

对cocopods不熟悉的读者可以自行百度学习,教程很多,就不赘述了。

新建文件,用来使用OHMySQL。

在.h文件中加入文件头:

#import <OHMySQL.h>

#import "DBdata.h"              //DBdata.h是我上文新建的文件名。

增删改查的用法我在代码中详细解释了,.m文件中新建函数用来连接和更新数据:


        
-(void)connectDB{
        OHMySQLUser *usr = [[OHMySQLUser alloc]initWithUserName:@"数据库登录用的用户名" password:@"数据库登录密码" serverName:@"数据库地址" dbName:@"数据库名" port:接口 socket:nil];  //远程连接,这里socket:nil就行了

        coordinator = [[OHMySQLStoreCoordinator alloc]initWithUser:usr];
        
        //连接到数据库
        [coordinator connect];
        
    // 初始化设备上下文
    OHMySQLQueryContext *queryContext = [OHMySQLQueryContext new];

    //设置连接器
    queryContext.storeCoordinator = coordinator;

    
    NSMutableDictionary *dic=[[NSMutableDictionary alloc]init];
    [dic setObject:@"22" forKey:@"location"];
    [dic setObject:@"test" forKey:@"room"];
    [dic setObject:@"-51,-50,-50,-51" forKey:@"rssi"];
    //OHMySQLQueryRequest *query = [OHMySQLQueryRequestFactory SELECT:@"表名" condition:nil orderBy:@[@"属性名"] ascending:NO];   //查找
    OHMySQLQueryRequest *que=[OHMySQLQueryRequestFactory INSERT:@"表名" set:dic];//插入dic数据
    //OHMySQLQueryRequest *que=[OHMySQLQueryRequestFactory UPDATE:@"表名" set:dic condition:@"location='10,10'"];  //修改表中数据
    //dic是修改之后要存储的数据,
    //condition是用来筛选需要修改的数据,即当表中属性location的数据为10,10时候修改为dicDic
    //OHMySQLQueryRequest *que=[OHMySQLQueryRequestFactory DELETE:@"表名" condition:@"location='10,10'"];  //删除满足location=‘10,10’的数据
    NSError *error = nil;

    //task用于存放数据库返回的数据

    NSArray *tasks = [queryContext executeQueryRequestAndFetchResult:que error:&error];
    NSMutableArray *arrayModels = [NSMutableArray array];
    if (tasks != nil) {
        for (NSDictionary *dict in tasks) {

            DBdata *model = [DBdata testWithDict:dict];  //前文创建的数据模型
            [arrayModels addObject:model];
        }
               _dbDataArray = arrayModels;   //存储数据库返回回来的数据
        [coordinator disconnect];            //断开数据库
    }
    else
        NSLog(@"%@",error.description);

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值