3. 管理连接
3.1. 连接到数据库
我们可以使用以下语句连接到数据库:
connStr := "host=127.0.0.1 user=SYSTEM password=123456 dbname=TEST"
db, err := sql.Open("kingbase", connStr)
err = db.Ping()
和其他语言不同, Open 函数并不会建立连接,也不会验证连接参数。
Go语言使用惰性求值,仅在初次使用时才会建立连接,因此,需要使用 Ping 函数进行检查。
连接参数说明可参考下表。
连接参数之间以空格分隔,若参数值包含空格,需要使用''(单引号)将该值括起来。 示例:
"user=SYSTEM password=123456 dbname=TEST sslmode=disable" "user='space man' password='it\'s valid'"
3.2. 关闭连接
要关闭与数据库的连接,只需要对数据库对象 db调用 Close 方法。
db.Close()
但db对象是为了长连接而设计的,如无必要, 不要频繁调用 Open 和 Close 函数,尽量遵守database/sql库的设计准则。
3.3. 连接池¶
database/sql包中实现了通用的连接池,只提供了非常简单的接口,除了限制连接数和设置生命周期外,基本没有定制选项。
db对象代表着0到多个底层连接的连接池,可以安全地被多个Go协程并发使用。
Go会自动创建并管理连接,也保持空闲的连接。
当调用Begin函数开启事务时,返回的对象才会绑定到单个连接上,调用Commit或Rollback后,该事务绑定的连接才会返回到连接池中。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




