新聞中心
我們可以通過?gdb?模塊的接口設(shè)計實現(xiàn):新增框架默認(rèn)不支持的第三方數(shù)據(jù)庫驅(qū)動、對已有支持的驅(qū)動進行定制化修改等。

創(chuàng)新互聯(lián)建站作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,有關(guān)成都企業(yè)網(wǎng)站建設(shè)方案、改版、費用等問題,行業(yè)涉及成都邊坡防護網(wǎng)等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
驅(qū)動注冊
之前我們有提到?Driver?的驅(qū)動接口,在實現(xiàn)該接口之后,我們可以通過以下方法注冊自定義驅(qū)動到?gdb?模塊:
// Register registers custom database driver to gdb.
func Register(name string, driver Driver) error其中的驅(qū)動名稱?name?可以是已有的驅(qū)動名稱,例如?mysql?, ?mssql?, ?pgsql?等等,當(dāng)出現(xiàn)同名的驅(qū)動注冊時,新的驅(qū)動將會覆蓋老的驅(qū)動。
驅(qū)動實現(xiàn)
開發(fā)一個自定義的驅(qū)動并注冊到?gdb?模塊中非常簡單,可以參考?gdb?模塊源碼中已對接的數(shù)據(jù)庫類型代碼示例:https://github.com/GOgf/gf/tree/master/contrib/drivers
需要說明的是,最常見的驅(qū)動開發(fā)或者修改方式是直接繼承于現(xiàn)有?*Core?類型,因為在?Driver?接口中會傳遞該類型的對象,例如:
// DriverMysql is the driver for mysql database.
type DriverMysql struct {
*Core
}
// New creates and returns a database object for mysql.
// It implements the interface of gdb.Driver for extra database driver installation.
func (d *DriverMysql) New(core *Core, node *ConfigNode) (DB, error) {
return &DriverMysql{
Core: core,
}, nil
} 文章題目:創(chuàng)新互聯(lián)GoFrame教程:GoFrame接口開發(fā)-驅(qū)動開發(fā)
URL網(wǎng)址:http://fisionsoft.com.cn/article/coshdhe.html


咨詢
建站咨詢
