编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Connector/C++ mysql官方C++库(c++ mysql_query)

wxchong 2024-08-09 11:20:59 开源技术 22 ℃ 0 评论

一、主要特性:


Connector/C++ 是 MySQL 官方提供的一个驱动程序,使得开发者能够用 C++ 语言与 MySQL 数据库交互。

  • (01)官方的:没有什么库比官方的更有分量了吧;
  • (02)连接和断开连接:库可以创建到 MySQL 服务器的连接,并且当不再需要时断开连接;
  • (03)执行 SQL 查询:库可以执行 SQL 查询,并获取查询结果;
  • (04)数据绑定:库允许你绑定变量到查询,这样你可以避免 SQL 注入攻击,并提高性能;
  • (05)错误处理:库提供了一种机制来处理可能发生的任何错误;
  • (06)事务处理:库支持事务处理,使得你可以执行多个查询作为一个单一的、不可分割的操作;

二、快速体验:

#include "jdbc/cppconn/prepared_statement.h"
#include "jdbc/cppconn/resultset.h"
#include "jdbc/cppconn/statement.h"
#include "jdbc/mysql_connection.h"
#include "jdbc/mysql_driver.h"
#include <string>
#include <iostream>
#include <map>

using namespace std;
using namespace sql;
using namespace sql::mysql;
// 编译: g++ -I /data/project/common_libs/mysql-connector-c++-8.1.0/include \
-L/data/project/common_libs/mysql-connector-c++-8.1.0/lib64 \
demo1.cpp -o demo1 -lmysqlcppconn
// 运行: export LD_LIBRARY_PATH=/data/project/common_libs/mysql-connector-c++-8.1.0/lib64
// ./demo1
int main() {
	// 注意,为了简明,忽略所有的错误检查
	// 1. 初始化: 获取的驱动
	// -------------------------------------------------------
    MySQL_Driver *driver = get_mysql_driver_instance();
    // 2. 进行链接
    // -------------------------------------------------------
    Connection *conn = driver->connect("127.0.0.1", "root", "123456");
    // 3. 选择数据库【可选】
    // ------------------------------------------------------
    conn->setSchema("db_test");
    // 4. 进行查询
    // ------------------------------------------------------
    PreparedStatement *prep_stmt = nullptr;
  	ResultSet *res = nullptr;
  	string preSql = "select `id`,`name` from `person` limit 5";
  	prep_stmt = conn->prepareStatement(preSql);
  	// 执行查询操作
    res = prep_stmt->executeQuery();
    while (res->next()) {
    	cout << "id=" << res->getUInt("id") << endl;
    	cout << "name=" << res->getString("name") << endl;
    	cout << "-----------------" << endl;
    }
    // 5. 释放资源
    // ------------------------------------------------------
    delete res;
    delete prep_stmt;
    delete conn;
	return 0;
}

三、怎么编译安装?


  • 需要根据mysql官网指引编译安装,如果遇到问题欢迎留言交流。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表