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
}

  

posted @ 2021-01-12 22:22  FinnYY  阅读(2223)  评论(0编辑  收藏  举报