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