Gendry是一个用于辅助操作数据库的Go包。基于go-sql- driver/mysql,它提供了一系列的方法来为你调用标准库database/sql中的方法准备参数。
go-sql- driver/mysql
database/sql
Gendery 主要分为3个独立的部分,你可以单独使用任何一个部分:
manager
builder
scanner
CLI Tool
manager主要用来初始化连接池(也就是sql.DB对象),设置各种参数,因此叫manager。你可以设置任何go-sql- driver/mysql驱动支持的参数。 初始化连接池时,代码如下:
sql.DB
var db *sql.DB var err error db, err = manager .New(dbName, user, password, host) .Set( manager.SetCharset("utf8"), manager.SetAllowCleartextPasswords(true), manager.SetInterpolateParams(true), manager.SetTimeout(1 * time.Second), manager.SetReadTimeout(1 * time.Second) ).Port(3302).Open(true)
事实上,manager做的事情就是就是生成dataSouceName
dataSouceName
dataSourceName的一般格式为:
[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]
manager是基于数据库驱动go-mysql- driver/mysql而开发的,manager支持了几乎所有该驱动支持的参数设置。具体用法看manager的README。
go-mysql- driver/mysql
builder,scanner,CLI Tool可查看中文文档。