gin_gorm

gorm

gin

restful风格:指的是网络应用中就是资源定位和资源操作风格,不是标准也不是协议

form参数接收类型:form-data ,x-www-urlencoded,application/x-www-form-urlencoded

请求方式对比:PUT 和 PATCH

PUT:在服务器更新资源(客户端提供完整资源数据)

PATCH:在服务器更新资源(客户端提供需要修改的资源数据)

请求头:

sqlx 是Go语言中一个流行的数据库操作库,它构建在Go标准库 database/sql 之上,为数据库交互提供了更便捷、高效和功能丰富的方式。以下是对 sqlx 库的详细介绍:

sqlx

1. 简化 SQL 查询

  • 命名参数查询sqlx 支持使用命名参数进行 SQL 查询,这使得 SQL 语句更易读和维护。相比标准库中使用 ? 占位符,命名参数更加直观。例如:
go 复制代码
var id int
err := db.Get(&id, "SELECT id FROM users WHERE name = :name", sql.Named("name", "John"))
  • 结构体映射sqlx 可以方便地将查询结果直接映射到结构体。假设你有一个 User 结构体:
go 复制代码
type User struct {
    ID   int    `db:"id"`
    Name string `db:"name"`
}

var user User
err := db.Get(&user, "SELECT id, name FROM users WHERE id =?", 1)

这里 sqlx 根据结构体字段上的 db 标签将查询结果映射到 User 结构体实例。

2. 批量操作

  • 批量插入sqlx 提供了方便的批量插入方法。例如,你有一个用户切片,想一次性插入到数据库:
go 复制代码
users := []User{
    {Name: "Alice"},
    {Name: "Bob"},
}
_, err := db.NamedExec("INSERT INTO users (name) VALUES (:name)", users)

这种方式减少了多次数据库往返,提高了插入效率。

3. 连接池管理

sqlx 基于 database/sql 的连接池机制,无需额外配置即可使用连接池。这意味着在高并发场景下,sqlx 可以有效地管理数据库连接,复用连接资源,提升应用性能。例如,在创建数据库连接时:

go 复制代码
db, err := sqlx.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database_name")
if err!= nil {
    log.Fatal(err)
}
defer db.Close()

4. 灵活性与兼容性

  • 支持多种数据库sqlx 支持多种关系型数据库,如 MySQL、PostgreSQL、SQLite 等。无论是哪种数据库,使用 sqlx 的基本模式相似,使得在不同数据库间切换时成本较低。
  • 与标准库兼容 :由于 sqlx 构建在 database/sql 之上,它与标准库的接口保持兼容。这意味着你可以在使用 sqlx 的同时,仍然使用标准库的一些特性,并且可以很容易地将现有的基于 database/sql 的代码迁移到 sqlx
相关推荐
会编程的土豆1 天前
Gin 框架第一课:从 0 搞懂 Gin 最基础的路由
数据库·sql·gin·goland
金玉满堂@bj2 天前
Gin 框架零基础全套入门教程(Go 企业级 Web 开发)
前端·golang·gin
会编程的土豆2 天前
Gin 框架入门笔记
笔记·gin
必胜刻9 天前
四大请求方式
gin
lUie INGA10 天前
Go-Gin Web 框架完整教程
前端·golang·gin
止语Lab13 天前
Gin 很好,但你的项目可能需要更多
golang·gin
迷茫运维路21 天前
云枢运维管理系统
运维·golang·kubernetes·gin·casbin
我不是8神22 天前
gin框架源码详细解读
gin
有浔则灵23 天前
Gin框架参数绑定与校验:从入门到精通
gin
必胜刻23 天前
Gin + WebSocket 连接池
websocket·网络协议·gin