连接数据库
使用 gdb 包来连接数据库:
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
)
func main() {
db := gdb.New()
// 配置数据库连接信息
db.SetConfig(gdb.Config{
"link": "root:password@tcp(127.0.0.1:3306)/test",
"charset": "utf8",
"debug": true,
})
// 连接数据库
if err := db.Connect(); err != nil {
fmt.Println("数据库连接失败:", err)
return
}
defer db.Close()
}
查询数据
// 查询单条记录
result, err := db.Table("user").Where("id", 1).One()
if err != nil {
fmt.Println("查询失败:", err)
return
}
fmt.Println(result.Map())
// 查询多条记录
results, err := db.Table("user").Where("age > ?", 18).All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
fmt.Println(results.List())
插入数据
// 插入单条记录
data := gdb.Map{
"name": "John",
"age": 25,
}
_, err := db.Table("user").Data(data).Insert()
if err != nil {
fmt.Println("插入失败:", err)
return
}
// 插入多条记录
dataList := gdb.List{
gdb.Map{"name": "Alice", "age": 22},
gdb.Map{"name": "Bob", "age": 28},
}
_, err := db.Table("user").Data(dataList).Insert()
if err != nil {
fmt.Println("插入失败:", err)
return
}
更新数据
// 更新单条记录
data := gdb.Map{
"age": 30,
}
_, err := db.Table("user").Data(data).Where("id", 1).Update()
if err != nil {
fmt.Println("更新失败:", err)
return
}
// 更新多条记录
data := gdb.Map{
"age": 30,
}
_, err := db.Table("user").Data(data).Where("age > ?", 25).Update()
if err != nil {
fmt.Println("更新失败:", err)
return
}
删除数据
// 删除单条记录
_, err := db.Table("user").Where("id", 1).Delete()
if err != nil {
fmt.Println("删除失败:", err)
return
}
// 删除多条记录
_, err := db.Table("user").Where("age < ?", 20).Delete()
if err != nil {
fmt.Println("删除失败:", err)
return
}
以上代码仅供参考,具体操作还需要根据实际情况进行调整。请确保你已经在项目中引入了正确的 GoFrame 包,并且数据库连接信息是正确的。
转载请注明出处:http://www.zyzy.cn/article/detail/7657/GoFrame