快捷查询函数
大多数情况下您都是在使用worm支提供的Model方式(持结构体字段映射)来访问数据库,但有些时候使用Model方式显然有些笨重。例如您可能只需要查询一个记录的一个字段的值,这种情况下若使用Model方式则比较繁琐。worm提供了一些快捷查询函数来应对这种需求,例如DbTable的GetString()函数,该函数克用于查询一个记录的一个字符串类型的字段。这些快捷查询函数可以用于原生SQL以及SQLBuilder模式,这些快捷函数的用法以上两种模式下的用法基本上是一致的,本文中使用SQLBuilder模式来说明这些快捷函数的使用方法。
main函数
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
log "github.com/haming123/wego/dlog"
"github.com/haming123/wego/worm"
)
func mysql_open(cnnstr string) (*sql.DB, error) {
db, err := sql.Open("mysql", cnnstr)
if err != nil {
return nil, err
}
err = db.Ping()
if err != nil {
return nil, err
}
return db, nil
}
func main() {
//创建数据连接池
cnnstr := "user:passwd@tcp(127.0.0.1:3306)/dbname?charset=utf8&parseTime=True"
db_cnn, err := mysql_open(cnnstr)
if err != nil {
log.Error(err)
return
}
//初始化ORM
worm.InitMysql(db_cnn)
//显示SQL语句log
worm.ShowSqlLog(true)
}
说明:
- worm代码的下载
go get github.com/haming123/wego - worm.ShowSqlLog
worm.ShowSqlLog用于控制sql日志的显示,建议测试环境下打开sql日志的显示的开关,这样可以看到每个数据库操作的sql语句以及执行时间,方便快速定位问题。 - 数据库的支持
目前worm支持的数据库有:mysql、postgres、sqlite、sqlserver, 本文的例子中采用了mysql数据库。