Documentation ¶
Index ¶
- Variables
- func CloseAllDb()
- func CloseAllEngineGroup()
- func CloseDbByName(name string) error
- func CloseEngineGroupByName(name string) error
- func GetEngineByName(name string) (*xorm.Engine, error)
- func GetEngineGroupName(name string) (*xorm.EngineGroup, error)
- type DbBaseConf
- type DbConf
- type EngineGroupConf
Constants ¶
This section is empty.
Variables ¶
var ( // EngineNotExist engine not found EngineNotExist = errors.New("current db engine not exist") // EngineNameEmpty engine name is empty EngineNameEmpty = errors.New("current engine name is empty") )
Functions ¶
func CloseAllEngineGroup ¶ added in v1.1.12
func CloseAllEngineGroup()
CloseAllEngineGroup 关闭当前引擎组连接,一般建议如下函数放在main/init关闭连接就可以
func CloseEngineGroupByName ¶ added in v1.1.12
CloseEngineGroupByName 关闭指定name的db engine group
func GetEngineByName ¶
GetEngineByName 从db engine中获取一个数据库连接句柄 根据数据库连接句柄name获取指定的连接句柄
func GetEngineGroupName ¶ added in v1.1.12
func GetEngineGroupName(name string) (*xorm.EngineGroup, error)
GetEngineGroupName 从引擎组中获得一个db engine group
Types ¶
type DbBaseConf ¶
type DbBaseConf struct { Ip string Port int User string Password string Database string Charset string // 字符集 utf8mb4 支持表情符号 Collation string // 整理字符集 utf8mb4_unicode_ci ParseTime bool // 是否格式化时间 Loc string // 时区字符串 Local,PRC Timeout time.Duration // Dial timeout ReadTimeout time.Duration // I/O read timeout WriteTimeout time.Duration // I/O write timeout }
DbBaseConf 数据库基本配置
func (*DbBaseConf) InitDbEngine ¶
func (conf *DbBaseConf) InitDbEngine() (*xorm.Engine, error)
InitDbEngine new a db engine mysql charset查看 mysql> show character set where charset="utf8mb4"; +---------+---------------+--------------------+--------+ | Charset | Description | Default collation | Maxlen | +---------+---------------+--------------------+--------+ | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | +---------+---------------+--------------------+--------+ 1 row in set (0.00 sec)
type DbConf ¶
type DbConf struct { DbBaseConf UsePool bool // 当前db实例是否采用db连接池,默认不采用,如采用请求配置该参数 MaxIdleConns int // 设置连接池的空闲数大小 MaxOpenConns int // 最大open connection个数 // sets the maximum amount of time a connection may be reused. // 设置连接可以重用的最大时间 // 给db设置一个超时时间,时间小于数据库的超时时间 MaxLifetime time.Duration ShowSql bool // 是否输出sql,输出句柄是logger Logger io.Writer // sql日志输出interface }
DbConf mysql连接信息 parseTime=true changes the output type of DATE and DATETIME values to time.Time instead of []byte / string The date or datetime like 0000-00-00 00:00:00 is converted into zero value of time.Time.
func (*DbConf) SetEngineName ¶
SetEngineName 给当前数据库指定engineName 一般用在多个db 数据库连接引擎的时候,可以给当前的db engine设置一个name 这样业务上游层,就可以通过 GetEngine(name)获得当前db engine
type EngineGroupConf ¶
type EngineGroupConf struct { Master DbBaseConf Slaves []DbBaseConf UsePool bool // 是否采用db连接池,默认不采用,如采用请求配置该参数 // the following configuration is for the configuration on each instance of master and slave // not the overall configuration of the engine group. // 下面的配置对于每个实例的配置,并非整个引擎组的配置 MaxIdleConns int // 设置连接池的空闲数大小 MaxOpenConns int // 最大open connection个数 // sets the maximum amount of time a connection may be reused. // Expired connections may be closed lazily before reuse. // If d <= 0, connections are reused forever. MaxLifetime time.Duration ShowSql bool // 是否输出sql,输出句柄是logger Logger io.Writer // sql日志输出interface }
EngineGroupConf 读写分离引擎配置
func (*EngineGroupConf) NewEngineGroup ¶
func (conf *EngineGroupConf) NewEngineGroup(policies ...xorm.GroupPolicy) (*xorm.EngineGroup, error)
NewEngineGroup 创建读写分离的引擎组,附带一些拓展配置 这里可以采用功能模式,方便后面对引擎组句柄进行拓展 默认采用连接池方式建立连接
func (*EngineGroupConf) SetEngineGroupName ¶ added in v1.1.12
func (conf *EngineGroupConf) SetEngineGroupName(name string, policies ...xorm.GroupPolicy) error
SetEngineGroupName 给db engine group设置名字