前言
上次咱们学习了如何使用Go操作Mysql,并且实现了简单的增删改查。
但是相对来说,还有有点复杂的,可能那些大佬也都觉得繁琐叭。
就又开发出了增强版查询Mysql操作库Sqlx。
mod文件
go.mod
module sqlxDemo
go 1.14
require (
github.com/go-sql-driver/mysql v1.4.0
github.com/jmoiron/sqlx v1.2.0
google.golang.org/appengine v1.6.7 // indirect
)
创建数据表
创建表代码
CREATETABLE`userinfo` (
`id` int(11)NOTNULLAUTO_INCREMENT,
`name`varchar(10)DEFAULTNULL,
`phone` char(11)DEFAULTNULL,
`address` varchar(64)DEFAULTNULL,
PRIMARYKEY(`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULTCHARSET=utf8mb4;
创建结构体
结构体代码
type Userinfo struct {
Id int64 `json:"id"`
Namestring `json:"name"`
Phone string `json:"phone"`
Address string `json:"address"`
}
连接数据库
代码
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
type Userinfo struct {
Id int64 `json:"id"`
Namestring `json:"name"`
Phone string `json:"phone"`
Address string `json:"address"`
}
func main() {
dsn := "root:rootroot@tcp(127.0.0.1:3306)/go_mysql_demo?charset=utf8mb4&parseTime=True"
// 使用 MustConnect 连接的话,验证失败不成功直接panic
//db := sqlx.MustConnect("mysql", dsn)
//使用 Connect连接,会验证是否连接成功,
db, err := sqlx.Connect("mysql", dsn)
if err != nil {<