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捕捉错误的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

golang线程池【简易版】

golang defer 特性姿势还是有必要了解下的!!!

go循环队列的实现

一篇文章带你入门go语言基础之并发

详解go 语言中的方法

golang协程如何关闭

手撸golang go与微服务 聚合模式之2

聊聊gost的countwatch

leetcode331 验证二叉树的前序序列化 golang

将 5 万行 java 代码移植到 go 学到的经验

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




打赏

取消

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

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

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

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

评论

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