main.cpp
#include "dbpool.h"
#include <stdio.h>
/*--------------------------------------------------------------
单例模式,全局唯一 db pool,程序中使用onnpool中获取一个
db连接使用,使用完之后调用ReleaseConnection把conn放回pool中去.
----------------------------------------------------------------*/
DBPool connpool = DBPool::GetInstance();
int main(int argc, char* argv[])
{
//初始化连接,创建参数中maxSize一半的连接
connpool.initPool("tcp://127.0.0.1:3306", "root", "123456", 100);
Connection *con;
Statement *state;
ResultSet *result;
con = connpool.GetConnection();//get a db conn
for(int i = 0; i<1000; i++)
{
state = con->createStatement();
state->execute("use mysql");
// 查询
result = state->executeQuery("select host,user from user");
// 输出查询
while (result->next())
{
try{
string user = result->getString("user");
string name = result->getString("host");
cout << user << " : " << name << endl;
}catch(sql::SQLException& e){
std::cout << e.what() << std::endl;
}
}
/*result = state->executeQuery("select cust_id,cust_name from customers");
while (result->next())
{
try{
string user = result->getString("cust_id");
string name = result->getString("cust_name");
cout << user << " : " << name << endl;
}catch(sql::SQLException& e){
std::cout << e.what() << std::endl;
}
}
*/
std::cout << i << std::endl;
}
delete result;
delete state;
connpool.ReleaseConnection(con);//注意,con用完之后一定要记得归还
return 0;
}