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
}
0 Comments