操作MySQL之sqlx库
目录
1|0一、介绍和使用
- 上一篇我们用了
go-sql-driver/mysql
库来操作mysql,还有一个更优秀的库sqlx
,它也是对标准库database/sql
具体的实现,并进行进一步封装和新增了一些方法
1|11. 安装和快速使用
2|0二、基本增删查改
- 之前go-sql-driver/mysql库的用法完全兼容
2|11. 增加数据
2|22. 修改数据
2|33. 删除数据
2|44. 查询数据
3|0三、其他查询
3|11. Get和Select查询
4|0四、其他方法
4|11. sqlx的NamedExec
- 传参可使用key-value的形式,不用原来一个问号?对应一个参数
用来绑定SQL语句与结构体或map中的同名字段
4|22. sqlx的NamedQuery
- 支持查询
5|0五、事务操作
sqlx
提供了db.Beginx()
和tx.Exec()
方法进行事务操作
6|0六、连接池
-
只用
sqlx.Open()
函数创建连接池,此时只是初始化了连接池,并没有连接数据库,连接都是惰性的,只有调用sqlx.DB
的方法时,此时才真正用到了连接,连接池才会去创建连接,连接池很重要,它直接影响着你的程序行为 -
连接池的工作原理也非常简单,当调用 sqlx.DB 的方法时,会首先去向连接池请求要一个数据库连接,如果连接池有空闲的连接,则返回给方法中使用,否则连接池将创建一个新的连接给到方法中使用;一旦将数据库连接给到了方法中,连接就属于方法了。方法执行完毕后,要不把连接所属权还给连接池,要不传递给下一个需要数据库连接的方法中,最后都使用完将连接释放回到连接池中
__EOF__

本文作者:BigSun丶
本文链接:https://www.cnblogs.com/Mcoming/p/18073549.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Mcoming/p/18073549.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
Go从入门到精通 / Go操作数据库
, Go从入门到精通
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!