1.下載驅動
go get "github.com/go-sql-driver/mysql"
2.數據庫連接(插入和查詢)
package main
import (
"database/sql"
"fmt"
"github.com/gin-gonic/gin"
_ "github.com/go-sql-driver/mysql"
"log"
)
func main() {
engine := gin.Default()
//連接數據庫
constr := "root:root@tcp(127.0.0.1:3306)/ginsql"
//打開連接
db ,err := sql.Open("mysql",constr) //返回mysql實例db
if err != nil {
log.Panic(err.Error())
return
}
//插入數據
_,err = db.Exec("insert into user(name,age) values(?,?);","張三",18)
if err != nil {
log.Panic(err.Error())
return
}else{
fmt.Println("插入成功")
}
//查詢數據
rows ,err := db.Query("select id,name,age from user")
if err != nil {
log.Panic(err.Error())
return
}
scan: //開始一個代碼塊(有風險 謹慎使用)
if rows.Next() { //如果有值為真就是有數據
user := new(User)
err := rows.Scan(&user.Id,&user.Name,&user.Age) //讀取rows里面的數據分別賦值給結構體屬性
if err != nil {
log.Panic(err.Error())
return
}
fmt.Println(user.Id,user.Name,user.Age)
goto scan //再次執行 (代碼塊這段也可以用循環代替)
}
engine.Run()
}
//定義一個結構體和數據庫結構一致
type User struct {
Id int
Name string
Age int
}
