在CMake中配置MySQL连接池,首先需要确保已经安装了MySQL和相关的开发库
创建一个新的CMake项目,或者在现有项目中添加以下内容:
在项目的CMakeLists.txt
文件中,找到或添加以下内容:
cmake_minimum_required(VERSION 3.0)
project(MySQLConnectionPool)
set(CMAKE_CXX_STANDARD 11)
# 添加MySQL连接器库
find_package(MySQLConnectorCPP REQUIRED)
include_directories(${MYSQL_CONNECTOR_CPP_INCLUDE_DIRS})
add_executable(MySQLConnectionPool main.cpp)
# 链接MySQL连接器库
target_link_libraries(MySQLConnectionPool ${MYSQL_CONNECTOR_CPP_LIBRARIES})
这里,我们使用find_package
命令来查找MySQL连接器库。如果找到了库,我们将包含目录添加到项目中,并将库链接到可执行文件。
main.cpp
的源文件,并添加以下内容:#include<iostream>
#include<mysqlx/xdevapi.h>
int main() {
const std::string url = "mysqlx://username:password@localhost";
const std::string schema_name = "test_schema";
try {
mysqlx::Session session(url);
mysqlx::Schema schema = session.getSchema(schema_name);
// 创建一个表
schema.createCollection("test_collection");
// 插入一些数据
mysqlx::Collection collection = schema.getCollection("test_collection");
collection.add(R"({"name": "John", "age": 30})").execute();
// 查询数据
mysqlx::TableSelect select = collection.select();
mysqlx::RowResult result = select.execute();
// 输出查询结果
std::cout << "Query result:"<< std::endl;
for (const auto &row : result) {
std::cout<< row[0].get<std::string>()<< std::endl;
}
} catch (const std::exception &e) {
std::cerr << "Error: " << e.what()<< std::endl;
return 1;
}
return 0;
}
这个示例代码展示了如何使用MySQL连接器库创建一个连接池,连接到MySQL数据库,并执行一些基本操作。
mkdir build
cd build
cmake ..
make
./MySQLConnectionPool
这将编译项目并运行生成的可执行文件。如果一切正常,你应该能看到查询结果输出。