准备条件
- 安装好MySQL,MySQL的用户root存在,且可以用密码登录,假设密码为”passwd”,数据库中有一个test数据库,test数据库里有一张名为“City”的表,表中有几条数据即可。
- 安装mysql++-devel(Ubuntu用户可能需要安装libmysql++-dev)
代码如下
#include <iostream>
#include <string>
#include <cstdlib>
#include <mysql++/mysql++.h>
using namespace std;
#define MYSQL_USER "root"
#define MYSQL_PASSWD "passwd"
#define MYSQL_PORT 3306
int main(){
mysqlpp::Connection con(false);
con.set_option(new mysqlpp::SetCharsetNameOption("utf8"));
if(!con.connect("test","localhost",MYSQL_USER,MYSQL_PASSWD,MYSQL_PORT)){
cout<<"can't connect,check the user and passwd"<<endl;
return -1;
}
cout<<"mysql connect successfully!"<<endl;
mysqlpp::Query query=con.query("select * from City");
mysqlpp::StoreQueryResult result=query.store();
if(nullptr==result){
cout<<"query failed!"<<endl;
return -1;
}
for(auto iter=result.begin();iter!=result.end();++iter){
cout<<"\t"<<(*iter)[0]<<endl;
}
return 0;
}
编译
g++ -o connection myconnector.cpp -std=c++11 -lmysqlpp -I /usr/include/mysql++ -I /usr/include/mysql
输出结果如下
mysql connect successfully!
Shanghai
Beijing
Shenzhen
PS:运行环境
Fedora 25 Server