Gin 框架mysql的连接搭建

 

Gin框架中mysql的连接

安装驱动

go get github.com/go-sql-driver/mysql

安装Gorm

go get -u github.com/jinzhu/gorm

 

复制代码
package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    _ "github.com/go-sql-driver/mysql"
    "github.com/jinzhu/gorm"
    "net/http"
    "time"
)

type User struct {
    gorm.Model
    Name      string `gorm:"type:varchar(20);not null"`
    Telephone string `gorm:"varchar(20);not null;unique"`
    Password  string `gorm:"size:255;not null"`
}

//项目初始化
func main() {
    db := InitDB()
    defer db.Close() //延时关闭

    r := gin.Default()

    //r.Run()
    panic(r.Run()) // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}


//数据库连接
func InitDB() *gorm.DB {

    driverName := "mysql"
    host := "127.0.0.1"
    port := "3306"
    database := "blog"
    username := "root"
    password := "islot"
    charset := "utf8"
    args := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true",
        username,
        password,
        host,
        port,
        database,
        charset,
    )

    db, err := gorm.Open(driverName, args)
    //db, err := gorm.Open("mysql", "user:islot@/blog?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        panic("failed to connect database,err:" + err.Error())
    }

    //自动创建数据表
    db.AutoMigrate(&User{})

    return db

}
复制代码

 

posted on   星河赵  阅读(3831)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示