在Golang中使用数据库的基础方式是通过Golang的标准库database/sql,此库提供了关系型数据库的一般接口,需要第三方实现对应数据库的驱动,其角色类似JDBC。
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql",
"user:password@tcp(127.0.0.1:3306)/hello")
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
sql.Open
返回*sql.DB
,是操纵数据库的基本接口。第一个参数是驱动注册的名字,第二参数一般称为DSN(Data Source Name),不同的驱动可以有完全不同的语法。sql.Open
并不会创建任何实际链接,也不会检验DSN,链接的建立是懒惰的。可以使用db.Ping()
来测试数据库链接。- db对象包含数据库链接池,避免经常打开和关闭。