MySQL C++ Driver的实现基于JDBC规范
MySQL Connector/C++是由Sun Microsystems开发的MySQL连接器。它提供了基于OO的编程接口与数据库驱动来操作MySQL服务器。
与许多其他现存的C++接口实现不同,Connector/C++遵循了JDBC规范。也就是说,Connector/C++ Driver的API主要是基于Java语言的JDBC接口。JDBC是java语言与各种数据库连接的标准工业接口。
Connector/C++实现了大部分JDBC规范。如果C++程序的开发者很熟悉JDBC编程,将很快的入门。
MySQL Connector/C++需要安装配置boost库,boost库安装编译在这里不进行阐述
库下载:
mysql-connector-c++-8.0.18-win32库
工程配置:
- 新建一个空项目ManageSystem:
- 将下载好的mysql-connector-c++-8.0.18-win32和boost_1_72_0库放到对应的目录下,方便引用:
- 将F:\Project\ManageSystem2\Third\mysql-connector-c++-8.0.18-win32\lib添加到项目的库目录中(根据具体路径而定)
- 将F:\Project\ManageSystem2\Third\mysql-connector-c++-8.0.18-win32\include添加到VC++的包含目录中(根据具体路径而定),
- 将F:\boost\boost_1_55_0添加到VC++的包含目录中(根据具体路径而定)
配置同上
- 添加mysqlcppconn.lib至链接器--->输入--->附加依赖项中
同样,如果使用的mysql是64位的,还需要将项目的解决方案平台由win32改成x64
- 将F:\Project\ManageSystem2\Third\mysql-connector-c++-8.0.18-win32\lib(根据具体路径而定)下的mysqlcppconn.dll复制到项目中去,和.cpp,.h文件位于同一路径下
- 将F:\MySQL\MySQL Server 5.6\lib(根据具体路径而定)下的libmysql.dll复制到项目中去,和.cpp,.h文件位于同一路径下(配置完成)
或者放到项目的运行目录F:\Project\ManageSystem2\proj.win32\Debug.win32下面都可以。
程序实现:
- 程序引入头文件
#include "jdbc/mysql_connection.h"
#include "jdbc/mysql_driver.h"
#include "jdbc/cppconn/statement.h"
using namespace sql;
using namespace std;
#define DBHOST "tcp://localhost:3306"
#define USER "root"
#define PASSWORD "123456"
- 连接数据库,实现查询操作
//初始化驱动
//Driver *m_driver;
//m_driver = get_driver_instance();
sql::mysql::MySQL_Driver *driver = NULL;
sql::Connection *conn = NULL;
sql::Statement *state;
sql::ResultSet *result;
driver = sql::mysql::get_mysql_driver_instance();
if (driver == NULL)
{
CCLOG("driver is null...");
}
conn = driver->connect(DBHOST, USER, PASSWORD);
if (conn == NULL)
{
CCLOG("conn is null...");
}
else
{
CCLOG("connect suceess...");
}
CCLOG("-------------------------begin query------------------------------------------");
state = conn->createStatement();
state->execute("u