acl  3.5.3.0
db_service_mysql.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 #include "../stdlib/string.hpp"
4 #include "../db/db_service.hpp"
5 
6 #if !defined(ACL_CLIENT_ONLY) && !defined(ACL_DB_DISABLE)
7 
8 namespace acl {
9 
11 {
12  /**
13  * 当为 mysql 数据库时的构造函数
14  * @param dbaddr {const char*} mysql 服务器地址
15  * @param dbname {const char*} 数据库名
16  * @param dbuser {const char*} 数据库用户名
17  * @param dbpass {const char*} 数据库用户密码
18  * @param dbflags {unsigned long} 数据库连接标志位
19  * @param auto_commit {bool} 数据修改时是否自动提交
20  * @param conn_timeout {int} 数据库连接超时时间
21  * @param rw_timeout {int} 数据库操作时IO读写超时时间
22  * @param dblimit {size_t} 数据库连接池的个数限制
23  * @param nthread {int} 子线程池的最大线程数
24  * @param win32_gui {bool} 是否是窗口类的消息,如果是,则内部的
25  * 通讯模式自动设置为基于 _WIN32 的消息,否则依然采用通用的套接
26  * 口通讯方式
27  */
28  db_service_mysql(const char* dbaddr, const char* dbname,
29  const char* dbuser, const char* dbpass,
30  unsigned long dbflags = 0, bool auto_commit = true,
31  int conn_timeout = 60, int rw_timeout = 60,
32  size_t dblimit = 100, int nthread = 2, bool win32_gui = false);
33 
34  ~db_service_mysql(void);
35 
36 private:
37  // 数据库服务器地址
38  string dbaddr_;
39  // 数据库名
40  string dbname_;
41  // 数据库用户名
42  string dbuser_;
43  // 数据库用户密码
44  string dbpass_;
45  // 数据库连接标志位
46  unsigned long dbflags_;
47  // 修改数据时是否自动提交数据
48  bool auto_commit_;
49  // 连接数据库超时时间
50  int conn_timeout_;
51  // 数据库操作时的读写超时时间
52  int rw_timeout_;
53 
54  // 基类纯虚函数
55  virtual db_handle* db_create(void);
56 };
57 
58 }
59 
60 #endif // !defined(ACL_CLIENT_ONLY) && !defined(ACL_DB_DISABLE)
#define ACL_CPP_API