5.1 database/sql接口
发布日期:2021-06-30 15:53:47 浏览次数:3 分类:技术文章

本文共 680 字,大约阅读时间需要 2 分钟。

Go与PHP不同的地方是Go官方没有提供数据库驱动,而是为开发数据库驱动定义了一些标准接口,开发者可以根据定义的接口来开发相应的数据库驱动,这样做有一个好处,只要是按照标准接口开发的代码, 以后需要迁移数据库时,不需要任何修改。那么Go都定义了哪些标准接口呢?让我们来详细的分析一下

sql.Register

这个存在于database/sql的函数是用来注册数据库驱动的,当第三方开发者开发数据库驱动时,都会实现init函数,在init里面会调用这个Register(name string, driver driver.Driver)完成本驱动的注册。

我们来看一下mymysql、sqlite3的驱动里面都是怎么调用的:

//https://github.com/mattn/go-sqlite3驱动func init() {    sql.Register("sqlite3", &SQLiteDriver{})}//https://github.com/mikespook/mymysql驱动// Driver automatically registered in database/sqlvar d = Driver{proto: "tcp", raddr: "127.0.0.1:8889"}func init() {    Register("SET NAMES utf8")    sql.Register("mymysql", &d)}

我们看到第三方数据库驱动都是通过调用这个函数来注册自己的数据库驱动名称以及相应的driver实现。在

转载地址:https://kaitiren.blog.csdn.net/article/details/113273121 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:5.2 使用MySQL数据库
下一篇:第五章 访问数据库

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月13日 12时36分40秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章