acl  3.5.3.0
mysql_pool.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 #include "../db/db_pool.hpp"
4 
5 #if !defined(ACL_CLIENT_ONLY) && !defined(ACL_DB_DISABLE)
6 
7 namespace acl {
8 
9 class db_handle;
10 class mysql_conf;
11 
13 {
14 public:
15  /**
16  * 采用 mysql 数据库时的构造函数
17  * @param dbaddr {const char*} mysql 服务器地址,格式:IP:PORT,
18  * 在 UNIX 平台下可以为 UNIX 域套接口
19  * @param dbname {const char*} 数据库名
20  * @param dbuser {const char*} 数据库用户
21  * @param dbpass {const char*} 数据库用户密码
22  * @param dblimit {int} 数据库连接池的最大连接数限制
23  * @param dbflags {unsigned long} mysql 标记位
24  * @param auto_commit {bool} 是否自动提交
25  * @param conn_timeout {int} 连接数据库超时时间(秒)
26  * @param rw_timeout {int} 与数据库通信时的IO时间(秒)
27  * @param charset {const char*} 连接数据库的字符集(utf8, gbk, ...)
28  */
29  mysql_pool(const char* dbaddr, const char* dbname,
30  const char* dbuser, const char* dbpass,
31  int dblimit = 64, unsigned long dbflags = 0,
32  bool auto_commit = true, int conn_timeout = 60,
33  int rw_timeout = 60, const char* charset = "utf8");
34 
35  /**
36  * 构造函数
37  * @param conf {const mysql_conf&} mysql 数据库连接配置对象
38  */
39  mysql_pool(const mysql_conf& conf);
40  ~mysql_pool();
41 
42 protected:
43  // 基类 connect_pool 纯虚函数:创建数据库连接句柄
44  connect_client* create_connect();
45 
46 private:
47  mysql_conf* conf_;
48 };
49 
50 } // namespace acl
51 
52 #endif // !defined(ACL_CLIENT_ONLY) && !defined(ACL_DB_DISABLE)
#define ACL_CPP_API