Gorm-数据库连接池管理示例

2023-04-24 20:02:46 浏览数 (1)

连接池的示例

下面是一个使用Gorm的连接池的示例:

代码语言:javascript复制
package main

import (
    "fmt"
    "time"

    "gorm.io/driver/mysql"
    "gorm.io/gorm"
)

type User struct {
    ID   uint
    Name string
}

func main() {
    dsn := "user:password@tcp(host:port)/database"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
        MaxIdleConns:      10,
        MaxOpenConns:      100,
        ConnMaxLifetime:   time.Hour,
        PrepareStmt:       true,
        SkipDefaultTransaction: true,
    })
    if err != nil {
        panic(err)
    }
    defer db.Close()

    // 创建表
    db.AutoMigrate(&User{})

    // 插入数据
    user1 := User{Name: "Alice"}
    db.Create(&user1)
    user2 := User{Name: "Bob"}
    db.Create(&user2)

    // 查询数据
    var users []User
    db.Find(&users)
    fmt.Println(users)
}

在这个示例中,我们创建了一个数据库连接池,然后使用Gorm进行了一些简单的数据库操作。首先,我们创建了一个名为User的结构体,并调用了AutoMigrate方法来创建数据库表。然后,我们插入了两条数据,并使用Find方法查询了所有的数据。

在这个示例中,我们没有手动管理数据库连接,Gorm会自动管理连接池。我们只需要使用db变量进行数据库操作即可。

go

0 人点赞