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
相关推荐
老毛肚18 小时前
Gin + GORM 接口可视化测试
gin
lolo大魔王18 小时前
Gin 框架中间件超详细实战教程(原理、全局中间件、路由中间件、自定义中间件、跨域、日志拦截)
中间件·gin
lolo大魔王20 小时前
Gin 框架响应格式与 HTML 模板渲染完整实战教程
前端·html·gin
必胜刻10 天前
Go 调用Coze工作流实现 AI 游戏生成
开发语言·ai·golang·gin
比特森林探险记12 天前
context 在 gRPC / Gin / K8s 中的实战
容器·kubernetes·gin
GoFly开发者13 天前
好消息!Gin+GORM-Gen开发框架已集成完成,正在进行测试和编写使用文档中,需要的开发朋友可以等待使用及订阅哦
gin·gorm·gorm-gen
Soonyang Zhang14 天前
nccl分析(三)——GPU-Initiated Networking(gin)数据发送过程分析
gin·nccl
呆萌很15 天前
【Gin】中间件练习题
gin
会编程的土豆16 天前
Gin 核心概念速记
数据库·后端·gin·goland
GDAL16 天前
Gin c.HTML 完整教程
html·gin