连接池的示例
下面是一个使用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变量进行数据库操作即可。