acl  3.5.3.0
acl::db_mysql类 参考

#include <db_mysql.hpp>

+ 类 acl::db_mysql 继承关系图:
+ acl::db_mysql 的协作图:

Public 成员函数

 db_mysql (const char *dbaddr, const char *dbname, const char *dbuser, const char *dbpass, unsigned long dbflags=0, bool auto_commit=true, int conn_timeout=60, int rw_timeout=60, const char *charset="utf8")
 
 db_mysql (const mysql_conf &conf)
 
 ~db_mysql (void)
 
unsigned long mysql_libversion (void) const
 
const char * mysql_client_info (void) const
 
MYSQLget_conn (void) const
 
const char * dbtype (void) const
 
int get_errno (void) const
 
const char * get_error (void) const
 
bool dbopen (const char *charset=NULL)
 
bool is_opened (void) const
 
bool close (void)
 
bool tbl_exists (const char *tbl_name)
 
bool sql_select (const char *sql, db_rows *result=NULL)
 
bool sql_update (const char *sql)
 
int affect_count (void) const
 
bool begin_transaction (void)
 
bool commit (void)
 
bool rollback (void)
 
- Public 成员函数 继承自 acl::db_handle
 db_handle (void)
 
virtual ~db_handle (void)
 
bool open ()
 
bool exec_select (query &query, db_rows *result=NULL)
 
bool exec_update (query &query)
 
virtual stringescape_string (const char *in, size_t len, string &out)
 
const db_rowsget_result () const
 
const std::vector< const db_row * > * get_rows (const char *name, const char *value)
 
const std::vector< db_row * > * get_rows () const
 
const db_rowget_first_row () const
 
void free_result ()
 
const db_rowoperator[] (size_t idx) const
 
size_t length () const
 
bool empty () const
 
void print_out (size_t max=0) const
 
db_handleset_id (const char *id)
 
const char * get_id () const
 
db_handleset_when (time_t now)
 
time_t get_when () const
 
- Public 成员函数 继承自 acl::connect_client
 connect_client (void)
 
virtual ~connect_client ()
 
time_t get_when ()
 
void set_when (time_t when)
 
connect_poolget_pool () const
 
virtual void set_timeout (int conn_timeout, int rw_timeout)
 

静态 Public 成员函数

static void load (void)
 
- 静态 Public 成员函数 继承自 acl::db_handle
static void set_loadpath (const char *path)
 
static const char * get_loadpath ()
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::connect_client
void set_pool (connect_pool *pool)
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 
- Protected 属性 继承自 acl::db_handle
db_rowsresult_
 
char * id_
 
time_t when_
 
- Protected 属性 继承自 acl::connect_client
int conn_timeout_
 
int rw_timeout_
 
time_t when_
 
connect_poolpool_
 

详细描述

在文件 db_mysql.hpp14 行定义.

构造及析构函数说明

◆ db_mysql() [1/2]

acl::db_mysql::db_mysql ( const char *  dbaddr,
const char *  dbname,
const char *  dbuser,
const char *  dbpass,
unsigned long  dbflags = 0,
bool  auto_commit = true,
int  conn_timeout = 60,
int  rw_timeout = 60,
const char *  charset = "utf8" 
)

构造函数方式一

参数
dbaddr{const char*} 数据库监听地址,可以为 TCP 套接口或在 UNIX 平台下的域套接口,格式如:127.0.0.1:3306,或 /tmp/mysql.sock
dbname{const char*} 数据库名称,非 NULL
dbuser{const char*} 连接数据库时的用户名
dbpass{const char*} 连接数据库时的用户密码
dbflags{unsigned long} 连接 MYSQL 时的标志位
auto_commit{bool} 当对数据库进行修改时是否自动提交事务
conn_timeout{int} 连接数据库的超时时间(秒)
rw_timeout{int} 进行数据库操作时的超时时间(秒)
charset{const char*} 连接数据库时的本地字符集(gbk, utf8, ...)

◆ db_mysql() [2/2]

acl::db_mysql::db_mysql ( const mysql_conf conf)

构造函数方式二:使用参数配置类对象进行构造

参数
conf{const mysql_conf&} mysql 数据库连接配置类对象

◆ ~db_mysql()

acl::db_mysql::~db_mysql ( void  )

成员函数说明

◆ affect_count()

int acl::db_mysql::affect_count ( void  ) const
virtual

@override

实现了 acl::db_handle.

◆ begin_transaction()

bool acl::db_mysql::begin_transaction ( void  )
virtual

@override 基类 db_handle 的虚函数,用来表示事务的开始,注意若要使用事务方式, 则需要在 db_mysql 的构造函数中传入的参数 auto_commit 为 false

重载 acl::db_handle .

◆ close()

bool acl::db_mysql::close ( void  )
virtual

@override

实现了 acl::db_handle.

◆ commit()

bool acl::db_mysql::commit ( void  )
virtual

@override

重载 acl::db_handle .

◆ dbopen()

bool acl::db_mysql::dbopen ( const char *  charset = NULL)
virtual

@override

实现了 acl::db_handle.

◆ dbtype()

const char* acl::db_mysql::dbtype ( void  ) const
virtual

@override

实现了 acl::db_handle.

◆ get_conn()

MYSQL* acl::db_mysql::get_conn ( void  ) const
inline

直接获得 mysql 的连接句柄,如果返回 NULL 则表示 mysql 还没有打开 或出错时内部自动关闭了 mysql 连接

返回
{MYSQL*}

在文件 db_mysql.hpp60 行定义.

61  {
62  return conn_;
63  }

◆ get_errno()

int acl::db_mysql::get_errno ( void  ) const
virtual

@override

重载 acl::db_handle .

◆ get_error()

const char* acl::db_mysql::get_error ( void  ) const
virtual

@override

重载 acl::db_handle .

◆ is_opened()

bool acl::db_mysql::is_opened ( void  ) const
virtual

@override

实现了 acl::db_handle.

◆ load()

static void acl::db_mysql::load ( void  )
static

当动态加载 libmysqlclient.so / libmysqlclient.dll 时,可以调用本 静态函数显式动态加载 mysql 客户端库,如果加载失败,内部会自动产生 断言,以免运行时出错,也可不调用本函数,使 db_mysql 类对象内部在 使用时隐式加载 mysql 动态库

◆ mysql_client_info()

const char* acl::db_mysql::mysql_client_info ( void  ) const

获得 mysql 客户端库的信息

返回
{const char*}

◆ mysql_libversion()

unsigned long acl::db_mysql::mysql_libversion ( void  ) const

获得 mysql 客户端库的版本号

返回
{unsigned long}

◆ rollback()

bool acl::db_mysql::rollback ( void  )
virtual

@override

重载 acl::db_handle .

◆ sql_select()

bool acl::db_mysql::sql_select ( const char *  sql,
db_rows result = NULL 
)
virtual

@override

实现了 acl::db_handle.

◆ sql_update()

bool acl::db_mysql::sql_update ( const char *  sql)
virtual

@override

实现了 acl::db_handle.

◆ tbl_exists()

bool acl::db_mysql::tbl_exists ( const char *  tbl_name)
virtual

@override

实现了 acl::db_handle.


该类的文档由以下文件生成: