gin連接mysql數據庫


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
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM