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
相关推荐
必胜刻8 小时前
Gin框架---框架CORS
http·https·gin
不会写DN21 小时前
GORM 实战入门:从环境搭建到企业级常用特性全解析
sql·mysql·go·gin
onlywhz3 天前
【Golang】——Gin 框架中间件详解:从基础到实战
中间件·golang·gin
不会写DN3 天前
Gin 接收前端传参方式有几种?
开发语言·前端·gin
贺小涛7 天前
Golang Gin框架核心原理与架构解析
架构·golang·gin
yashuk15 天前
Go-Gin Web 框架完整教程
前端·golang·gin
ErizJ15 天前
面试 | gin gorm go-zero
面试·golang·gin·gorm·gozero
透过清晨17 天前
Gin 框架中的规范响应格式设计与实现 (一)
gin
透过清晨17 天前
Gin 框架中的规范响应格式设计与实现 (五)
gin