golang sqlx捕捉错误


本文摘自php中文网,作者(*-*)浩,侵删。

sqlx这个第三方库,用起来确实爽多了,这里记录下学习和用法的心得

安装:

使用命令即可 (推荐学习:go)

1

go get github.com/jmoiron/sqlx

介绍:

大意就是sqlx是golang 标准database/sql的扩展,使用sqlx的接口跟原先的接口方法没什么两样,但有如下扩展:

1.可将行记录映射如struct(内嵌struct也支持),map与slices <--这正是我之前想要的效果

2.支持在preprared statement 中使用命名参数,在内置database/sql包之上增加了很多扩展,简化数据库操作代码的书写。

3.Get 和Select的查询结果到struct/slice更快速

sqlx也增加了许多接口,方便开发者使用,后面会讲到。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

package main

  

import (

    "database/sql"

    _"github.com/go-sql-driver/mysql"

    "github.com/jmoiron/sqlx"

    "log"

    "fmt"

)

  

type Student struct {

    Id         int    `db:"id"`

    Name       string `db:"name"`

    Nick       string `db:"nick"`

    Country    string `db:"country"`

    Province   string `db:"province"`

    City       string `db:"city"`

    ImgUrl     string `db:"img_url"`

    Status     int    `db:"status"`

    CreateTime string `db:"create_time"`

}

  

func main()  {

    dns := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8", dbuser, dbpwd, dbhost, dbname)

    db, err := sqlx.Connect("mysql", dns)

    if err != nil {

        log.Fatalln(err)

    }

    defer db.Close()

  

    tx := db.MustBegin()

    tx.MustExec(`INSERT INTO student VALUES ('1', 'Jack', 'Jack', 'England', '', '', 'http://img2.imgtn.bdimg.com/it/u=3588772980,2454248748&fm=27&gp=0.jpg', '1', '2018-06-26 17:08:35');`)

    tx.MustExec(`INSERT INTO student VALUES ('2', 'Emily', 'Emily', 'England', '', '', 'http://img2.imgtn.bdimg.com/it/u=3588772980,2454248748&fm=27&gp=0.jpg', '2', null);`)

    err = tx.Commit()

    if err != nil {

        log.Fatalln(err)

    }

  

}

以上就是golang sqlx捕捉错误的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

go-carbon 1.3.3 版本发布,新增获取星座方法和判断是否是某个星座方法

javascript 和 golang 前后端使用 aes 加密传输数据

golang ip地址字符串整数string int相互转换

使用 go modules

golang如何读取文件是否存在

关于golang中无法获取地址问题的解析

手撸golang 学ectd 手写raft协议13 小结

golang怎么判断map是否为空

golang 泛型

聊聊storagetapper的pipe

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...