Documentation ¶
Overview ¶
Package godb ...
Author: go_developer@163.com<张德满>
Description: 数据库连接配置定义
File: config.go
Version: 1.0.0
Date: 2020/07/18 20:41:13
Package godb ...
Author: go_developer@163.com<张德满>
Description: 基于 gorm 封装 db client, 并结合 gin 框架
File: database.go
Version: 1.0.0
Date: 2020/07/18 21:13:27
Package godb ...
Author: go_developer@163.com<张德满>
Description: 集成至gin的sql日志
File: log.go
Version: 1.0.0
Date: 2020/07/19 16:26:51
Index ¶
Constants ¶
const ( // DefaultMaxConnect 默认最大连接数 // // Author : go_developer@163.com<张德满> DefaultMaxConnect = 300 // DefaultMaxOpenConnect 默认最大的打开连接数 // // Author : go_developer@163.com<张德满> DefaultMaxOpenConnect = 300 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DBClient ¶
type DBClient struct { GormDB *gorm.DB //获取读库实例则只读,获取写库实例,读写均可 ReadOnly bool //是否只读(开发环境,一般读写库配置相同, 避免误使用) // contains filtered or unexported fields }
DBClient (包装后的数据库连接, 推荐使用)
Author : go_developer@163.com<张德满>
var ( // DB 数据库操作实例 // // Author : go_developer@163.com<张德满> DB *DBClient )
func InitDatabaseClient ¶
InitDatabaseClient 初始化数据库连接
Author : go_developer@163.com<张德满>
Date : 2020/07/19 17:07:11
func (*DBClient) GetDBClient ¶
GetDBClient 获取包装后的数据库连接实例
Author : go_developer@163.com<张德满>
Date : 2020/07/18 21:46:49
type DBConfig ¶
type DBConfig struct { Read *Mysql `json:"read"` //读库配置 Write *Mysql `json:"write"` //写库配置 Log *MysqlLog `json:"log"` //日志文件路径 }
DBConfig 数据库连接配置
Author : go_developer@163.com<张德满>
type Mysql ¶
type Mysql struct { Host string `json:"host"` //数据库主机 Port uint `json:"port"` //数据库端口 User string `json:"user"` //数据库用户 Password string `json:"password"` //数据库密码 Database string `json:"database"` //数据库名 Loc string `json:"loc"` //时区 ParseTime bool `json:"parse_time"` //解析时间 Charset string `json:"charset"` //编码方式 MaxConnect int `json:"max_connect"` //最大连接数 MaxOpenConnect int `json:"max_open_connect"` //打开的最大连接数 ForbbidenWrite bool `json:"forbbiden_write"` //禁止写入(禁止后,数据库为读库) }
Mysql mysql 连接时,结构体的定义
Author : go_developer@163.com<张德满>
type MysqlLog ¶
type MysqlLog struct { AppName string `json:"app_name"` //app名称 OpenLog bool `json:"open_log"` //是否开启日志 LogPath string `json:"log_path"` //日志文件路径 ConsoleOutput bool `json:"console_output"` //是否控制台输出 FileOutput bool `json:"file_output"` //是否输出到文件 }
MysqlLog mysql log 操作日志配置
Author : go_developer@163.com<张德满>
type SQLLogger ¶
type SQLLogger struct {
// contains filtered or unexported fields
}
SQLLogger 实现日志接口,接手内置日志实例, 保证sql日志和请求日志能关联起来
Author : go_developer@163.com<张德满>
func NewSQLLogger ¶
func NewSQLLogger(ctx *gin.Context, logger *goLogger.WrapperLogger) *SQLLogger
NewSQLLogger 获取sql日志实例
Author : go_developer@163.com<张德满>
Date : 2020/07/19 16:53:14