| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #pragma once
- #include <mysql/mysql_connection.h>
- #include <mysql/mysql_driver.h>
- #include <mysql/cppconn/exception.h>
- #include <mysql/cppconn/driver.h>
- #include <mysql/cppconn/connection.h>
- #include <mysql/cppconn/resultset.h>
- #include <mysql/cppconn/prepared_statement.h>
- #include <mysql/cppconn/statement.h>
- using namespace sql;
- class DBPool
- {
- public:
- DBPool();
- ~DBPool();
- void InitPool();
- Connection* GetConnection();
- void ReleaseConnection(Connection *conn);
- private:
- //init DB pool
- void InitConnection(int initSize);
- // create a connection
- Connection* CreateConnection();
- //destory connection
- void DestoryConnection(Connection *conn);
- //destory db pool
- void DestoryConnPool();
- private:
- string user;
- string password;
- string url;
- string database;
- int maxSize;
- int curSize;
- Driver* driver; //sql driver (the sql will free it)
- list<Connection*> connList; //create conn list
- std::mutex m_mutex;
- };
|