使用C++ X DevAPI连接MySQL8
文章目录
预备需求
测试环境:
- Windows 10 64位
- Visual Studio 2019
- CMake 3.17.3(使用CMake构建时需要)
- MySQL 8.0.20
其他平台请参考官方文档https://dev.mysql.com/doc/connector-cpp/8.0/en/
第1步 获得C++连接器
- 在Windows平台可以通过MySQL Installer获得Connector/C++
- 也可以直接下载https://dev.mysql.com/downloads/connector/cpp/(更详细的链接https://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-8.0.21-winx64.zip)
第2步 构建C++项目
方式1 使用Visual Studio 2019构建
1. 创建一个新的C++空项目
添加源文件并输入以下测试代码
#include <iostream>
#include <string>
#include <list>
#include <cstdlib>
#include <mysqlx/xdevapi.h>
using namespace mysqlx;
int main() {
// 修改控制台编码
std::system("chcp 65001");
try {
// 改成你的信息
Session sess(SessionOption::USER, "root",
SessionOption::PWD, "123456",
SessionOption::HOST, "localhost",
SessionOption::PORT, 33060,
SessionOption::DB, "test");
auto result = sess.sql("select * from user").execute();
for (auto row : result.fetchAll()) {
std::cout << row[0] << " " << row[1] << " " << row[2] << "\n";
}
} catch (const std::exception& e) {
std::cerr << e.what() << '\n';
}
}
2. 将下载的C++连接器添加到项目根目录下(.sln所在目录)
3. 修改项目为x64、Release模式(重要)
4.1 使用动态链接方式构建
- 添加include目录(也就是连接器的include目录)
- 添加库目录(也就是连接器的lib64/vs14目录)
- 添加静态库mysqlcppconn8.lib(注意后面有个8)
构建(快捷键F7)
拷贝mysqlcppconn8-2-vs14.dll到生成的.exe文件目录下(重要!)
- 运行(快捷键Ctrl + F5)
4.2 使用静态链接方式构建
- 添加include目录(也就是连接器的include目录)
- 添加库目录(也就是连接器的lib64/vs14目录)
- 添加静态库mysqlcppconn8-static.lib(注意后面为8-static)和dnsapi.ib(重要)
- 添加STATIC_CONCPP预处理器定义(重要)
- 运行(快捷键Ctrl + F5)
方式2 使用CMake构建
思路与使用Visual Studio 2019相同,下面给出静态链接方式构建的CMakeLists代码
cmake_minimum_required(VERSION 3.0.0)
project(TestMySql)
add_executable(TestMySql main.cpp)
include_directories(${CMAKE_SOURCE_DIR}/include)
add_compile_definitions(STATIC_CONCPP)
target_link_directories(TestMySql PUBLIC ${CMAKE_SOURCE_DIR}/lib64/vs14/)
target_link_libraries(TestMySql mysqlcppconn8-static.lib dnsapi.lib)
版权声明:本文为weixin_43669941原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。