package main import ( "fmt" "github.com/jmoiron/sqlx" "log" _ "github.com/go-sql-driver/mysql" ) // sqlx 另外的库 var databasE *sqlx.DB type users struct { ID int NAME string AGE int } func main() { err := initd() if err != nil { return } //查询单行,不需要scan也能拿到结果 sqlstr := `select id,name,age from user where id=1` var u users err = databasE.Get(&u, sqlstr) if err != nil { return } fmt.Println(u) //查询多行 var ulist = make([]users, 0, 1) //引用类型初始化 sqlstr2 := `select id,name,age from user` //必须要传指针 err = databasE.Select(&ulist, sqlstr2) if err != nil { fmt.Println(err) return } fmt.Println(ulist) } func initd() (err error) { databasE, err = sqlx.Connect("mysql", "root:123456@tcp(43.143.245.135:3306)/user") if err != nil { log.Println(err) return err } //connect方法提供了ping。所以不需要ping //err = databasE.Ping() //if err != nil { // log.Println(err) // return err //} log.Println("Successfully connected to mysql") databasE.SetMaxOpenConns(10) databasE.SetMaxIdleConns(5) return nil }