上一篇教程我们了解到了基础的GO语法,今天我们来学习如何使用GO开发一个通用的mysql管理器,下面就直接进入步骤环节,代码需要承接上一篇教程的,如有疑问请查看上一篇教程
1. 编写一个多数据源实例的管理器对象,以及改造下之前的DBConfig对象
// 连接管理器
type RDBManager struct {
OpenTx bool // 是否开启事务
DsName string // 数据源名称
Db *sql.DB // 非事务实例
Tx *sql.Tx // 事务实例
Errors []error // 操作过程中记录的错误
}
// 数据库配置
type DBConfig struct {
DsName string // 数据源名称
Host string // 地址IP
Port int // 数据库端口
Database string // 数据库名称
Username string // 账号
Password string // 密码
}
2. 编写初始化多个数据源配置的方法,并改造下我们之前的NewMysql方法
// 初始化数据库实例
func NewMysql(conf DBConfig) (*sql.DB, error) {
// 定义占位符字符串,使用配置值替换%s和%d
link := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8", conf.Username, conf.Password, conf.Host, conf.Port, conf.Database)
// 打开mysql获得实例对象
db, err := sql.Open("mysql", link)
//