import (
"fmt"
"github.com/jmoiron/sqlx"
)
复制代码
var (
sqlxdbConfig = DBConfig{
Host: "127.0.0.1", // ip
Port: 5432, // psql 5432
UserName: "zyf", // 用户名
Password: "123", // 密码
DBName: "sqlxdb", // 数据库
}
sqlxdb *sqlx.DB
)
// 数据库配置
type DBConfig struct {
Host string
Port int32
UserName string
Password string
DBName string
}
复制代码
type Req struct{
id int `json:"id" db:"id"`
}
// main函数
func main(){
// 调连接数据库函数
sqlxdb = postgres(sqlxdbConfig)
// 一条sqlx使用查询实例
sqlxReq := make([]Req, 0)
sql := "select * from sqlx"
if err := sqlxdb.Unsafe().Select(&sqlxReq, sql2); err != nil {
fmt.Printf(" err:%v\n", err)
return
}
}
//ToString 表示链接数据库的字符串
func (c DBConfig) ToString() string {
return fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable", c.Host, c.Port,
c.UserName, c.Password, c.DBName,
)
}
func postgres(dbconfig DBConfig) *sqlx.DB {
// 连接数据库
db, err := sqlx.Open("postgres", dbconfig.ToString())
if err != nil {
fmt.Printf(err)
}
// 最大连接数
db.SetMaxIdleConns(10)
return db
}
复制代码
详细sql语句使用查看官方文档:go-database-sql.org/index.htmlhtml