Mac下xcode利用c++连接本地mysql

Mac下xcode利用c++连接本地mysql

在mac系统中连接本地mysql,很少有详细的教程,最近在做mysql的小项目,就遇到了这个问题,在网站上基本上没找到合适的教程,下面把我在连接过程中遇到的问题以及如何解决的分享给大家。第一次写博客,有什么问题请大家多多包涵。

一、参考资料

Mac下Xcode通过MySQL Connector/C++ 8.0连接MySQL详细环境搭建历程:这篇博客写的基本上就是我遇到的问题
官方文档:官方文档很值得学习学习

二、提前准备

  1. 在mac上安装mysql,并且在系统偏好设置中启动mysql
  2. 安装MySQL Connector/C++

    安装mysql和mysql-connector-c++,其他的一些是不需要安装的,探索过程中安装了很多

三、过程

  1. 利用xcode建立一个c++工程
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210503212712711.png
  2. 然后在main.cpp中写入代码
#include <mysql.h>
#include <iostream>
using namespace std;
#include <string>

#define LOG(s) cout<<__FILE__<<" : "<<__LINE__<<" "<<__TIMESTAMP__<<" : "<<s<<endl;

//把下面配置信息修改为自己数据库的
const char user[] = "root";
const char pwd[] = "123456789";
const char database[] = "chat";
unsigned int port = 3306;
const char ip[] = "127.0.0.1";

class MySQL{
public:
    MySQL(){
        _conn =  mysql_init(nullptr);
    }
    ~MySQL(){
        if( !_conn )
            mysql_close(_conn);
    }
    bool connect(string ip, unsigned short port, string user, 
    string password, string dbname)
    {
        MYSQL *p = mysql_real_connect(_conn, ip.c_str(), user.c_str(), 
        password.c_str(), dbname.c_str(), port, nullptr, 0);//mysql.h中的连接,传入参数即可
        return p != nullptr;
    }
    bool update(string sql)
    {
        if(mysql_query(_conn, sql.c_str()))
        {
            LOG("update failed" + sql);
            return false;
        }
        return true;
    }
    MYSQL_RES* query(string sql)
    {
        if(mysql_query(_conn, sql.c_str()))
        {
            LOG("query failed" + sql);
            return nullptr;
        }
        return mysql_use_result(_conn);
    }
    
private:
    MYSQL *_conn;//represent a connection betwwen Mysql and server
};

int main()
{
    MySQL conn;
    conn.connect(ip, 3306, user, pwd, database);
    conn.update("insert into user(name, age, sex) values('zhang san',20,'male')");
    return 0;
}
  1. 需要添加一些xcode的配置信息
    在这里插入图片描述

在这里插入图片描述

在xcode左边目录找到linkTest,在build settings中找到Other Linker Flags,并且插入图中右下角的配置
在这里插入图片描述
在这里插入图片描述
然后再继续向下找到Header Search Paths 和Library Search Paths ,并在里面添加上图的配置信息。
第一个是在mysql安装目录下的include目录(/usr/local/mysql/include),第二个是/usr/local/mysql-connector-c++/lib64下。每个人的安装目录应该有所不同要对应到自己的文件中
4.最后一步是编译通过,但是找不到两个.dylib文件,
在这里插入图片描述
进入到/Users/sheep/Library/Developer/Xcode/DerivedData/linkTestbhfjiadkpngfpkhdozouowaobzqr/Build/Products/Debug/linkTest下,从/usr/local/mysql-connector-c++/lib64中,将图中选中文件复制过去即可
在这里插入图片描述
在这里插入图片描述
5.至此,C++在xcode上连接mysql数据库完毕
在这里插入图片描述
这个id是我测试了很多次后到这个数字的,我设置的是id为自增主键。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值