第三方库 sqlx
sqlx是一个go语言包,在内置database/sql包之上增加了很多扩展,简化数据库操作代码的书写。
由于database/sql接口是sqlx的子集,所有database/sql的用法,在sqlx中一样可以用。不过sqlx还有更多扩展,用起来更方便。
安装:
go get github.com/jmoiron/sqlx
查询 Select() 方法
Select是一个非常省时的扩展。它们把query和非常灵活的scan语法结合起来。Select用来获取结果切片:
// 这里的tag标签就有意义了,下面的Select()方法应该就是根据tag标签对号入座的
type Person struct {
ID int `db:"user_id"`
Username sql.NullString `db:"username"`
Gender sql.NullString `db:"gender"`
Email sql.NullString `db:"email"`
}
func select() {
var persons []Person // 这里创建的是存放结构体的切片
if err := DB.Select(&person, "select * from person where userid > ?", 1); err != nil {
fmt.Println("Select ERROR:", err)
return
}
fmt.Println(person)
}
Select可以提高编码效率,还有更多扩展。sqlx 号称 golang 数据库开发神器,这里就提一下,等到真正用的时候再去深入学习了。









