go 使用sqlx

引入sqlx包

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

相關文章
相關標籤/搜索