Go语言增强版操作Mysql(Sqlx) 4年前

点击上方“ Go语言进阶学习 ”,进行关注

回复“Go语言”即可获赠从入门到进阶共10本电子书

春城无处不飞花,寒食东风御柳斜。

前言

上次咱们学习了如何使用Go操作Mysql,并且实现了简单的增删改查。

但是相对来说,还有有点复杂的,可能那些大佬也都觉得繁琐叭。

就又开发出了增强版查询Mysql操作库Sqlx

mod文件

go.mod

module sqlxDemo

创建数据表


创建表代码

CREATE TABLE `userinfo` (

创建结构体


结构体代码

type Userinfo struct {

连接数据库


代码

import (

查询单条

我记得使用原来的方式进行查询并且绑定结构体,是这审的。

//查询单条

第4行代码,需要将结构体的字段一个一个上去。

如果使用sqlx呢?

代码

//查询

执行结果

还是第4行代码,直接一个结构体扔过去,就绑定成功了。

如果表有很多字段,结构体字段也有很多,这个是很有用的。

查询多条

还是惯例,看看原来是怎么查的。

//查询多条

为了方便,我去掉了err,使用伪代码处理err代替。

原来的方法,查询出来还得需要一个循环,还需要一个切片,乖乖嘞,打扰了。

来看看sqlx

代码

//查询多条

执行结果

还是直接扔过去,就绑定完成了,真是美滋滋。

添加

额,添加,更新,删除,事物的话,似乎跟原来差不多,直接看代码叭。

代码

//添加

执行结果

Mysql

更新


代码

//更新数据

执行结果

Mysql

删除


代码

sqlStr := "delete from userinfo where id = ?;"

执行结果

Mysql

事物


代码

//事物

执行结果

Mysql

NameExec


增 删 改使用。

NameExec方法是通过结构体Map绑定SQL语句,试了试,感觉用处不大,不做举例。

NameQuery

做查询使用。

用法同上,没用,不做举例。

总结

其实sqlx模块,最大的改进是在查询方面,相信你也看到了,确实会比原生查询方便很多很多。

但是在其他方便,就显得捉襟见肘了,但是又说,一般还是查询场景多,查多改少

如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

乾坤未定,你我皆是黑马。

我是码农星期八,如果觉得还不错,记得动手点赞一下哈。

感谢你的观看。

如果你觉得文章还可以,记得点赞留言支持我们哈。感谢你的阅读,有问题请记得在下方留言噢~

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~

**********---**--****-------------- End **********---**--****--------------

往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,****感谢大家的相伴与支持

想加入Go学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

本文分享自微信公众号 - Go语言进阶学习(gh_dced3d6523fb)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

image
绯弾の忍野忍
男人只有不幸,总是与恐惧搏斗。女人没有幸福,也没有不幸。
3
发布数
2
关注者
5201
累计阅读

热门教程文档

Djiango
17小节
Linux
51小节
C++
73小节
C#
57小节
QT
33小节
广告