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