NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::sql_connect_base< Derived > 模板结构体 参考

SQL连接CRTP基类 更多...

#include <sql_connect_base.hpp>

类 neforce::sql_connect_base< Derived > 继承关系图:
[图例]

Public 成员函数

bool begin () final
 开始事务
bool commit () final
 提交事务
bool rollback () final
 回滚事务
void * native_handle () noexcept final
 获取原生连接句柄
Public 成员函数 继承自 neforce::idb_tb_connect
virtual unique_ptr< idb_tb_resultquery (const string &sql) const =0
 执行查询SQL语句
virtual unique_ptr< idb_prepared_statementprepare_statement (const string &sql) const =0
 创建预处理语句
Public 成员函数 继承自 neforce::idb_connect
virtual bool update (const string &sql) const =0
 执行非查询SQL语句
void refresh_alive () noexcept
 刷新连接存活时间
clock_type get_alive () const noexcept
 获取连接空闲时间
virtual bool connect (const db_config &config)=0
 建立连接
virtual bool reconnect (const db_config &config)=0
 重新连接
virtual void close ()=0
 关闭连接
virtual bool set_character_set (const string &encoding)=0
 设置字符集
virtual string_view get_character_set () const =0
 获取字符集
virtual string_view get_error () const =0
 获取错误信息
virtual uint32_t get_errno () const =0
 获取错误码
virtual bool connected () const =0
 检查连接状态
virtual bool is_valid () const =0
 检查连接有效性

额外继承的成员函数

Public 类型 继承自 neforce::idb_connect
using clock_type = milliseconds
 存活时间计时器类型

详细描述

template<typename Derived>
struct neforce::sql_connect_base< Derived >

SQL连接CRTP基类

通过CRTP静态多态为MySQL/PostgreSQL/SQLite提供事务管理和表存在性检查的共享实现。

模板参数
Derived派生类类型

派生类需要提供:

  • link_ (protected成员,原生连接句柄)
  • begin_sql() → 返回开始事务的SQL
  • commit_sql() → 返回提交事务的SQL
  • rollback_sql() → 返回回滚事务的SQL
  • table_exists_query(table) → 返回检查表是否存在的SQL

在文件 sql_connect_base.hpp38 行定义.

成员函数说明

◆ native_handle()

template<typename Derived>
void * neforce::sql_connect_base< Derived >::native_handle ( )
inlinenodiscardfinalvirtualnoexcept

获取原生连接句柄

返回
原生句柄指针

实现了 neforce::idb_connect.

在文件 sql_connect_base.hpp48 行定义.


该结构体的文档由以下文件生成: