W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
?gdb
?模塊使用了非常靈活且擴展性強的接口設(shè)計,接口設(shè)計允許開發(fā)者可以非常方便地自定義實現(xiàn)和替換接口定義中的任何方法。
接口文檔:https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#DB
?DB
?接口是數(shù)據(jù)庫操作的核心接口,也是我們通過?ORM
?操作數(shù)據(jù)庫時最常用的接口,這里主要對接口的幾個重要方法做說明:
Open
?方法用于創(chuàng)建特定的數(shù)據(jù)庫連接對象,返回的是標準庫的?*sql.DB
?通用數(shù)據(jù)庫對象。
Do*
?系列方法的第一個參數(shù)?link
?為?Link
?接口對象,該對象在?master-slave
?模式下可能是一個主節(jié)點對象,也可能是從節(jié)點對象,因此如果在繼承的驅(qū)動對象實現(xiàn)中使用該?link
?參數(shù)時,注意當前的運行模式。?slave
?節(jié)點在大部分的數(shù)據(jù)庫主從模式中往往是不可寫的。
HandleSqlBeforeCommit
?方法將會在每一條?SQL
?提交給數(shù)據(jù)庫服務(wù)端執(zhí)行時被調(diào)用做一些提交前的回調(diào)處理。
?GoFrame ORM Relations
?
接口文檔:https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#Driver
開發(fā)者自定義的驅(qū)動需要實現(xiàn)以下接口:
// Driver is the interface for integrating sql drivers into package gdb.
type Driver interface {
// New creates and returns a database object for specified database server.
New(core *Core, node *ConfigNode) (DB, error)
}
其中的?New
?方法用于根據(jù)?Core
?數(shù)據(jù)庫基礎(chǔ)對象以及?ConfigNode
?配置對象創(chuàng)建驅(qū)動對應(yīng)的數(shù)據(jù)庫操作對象,需要注意的是,返回的數(shù)據(jù)庫對象需要實現(xiàn)DB接口。而數(shù)據(jù)庫基礎(chǔ)對象?Core
?已經(jīng)實現(xiàn)了?DB
?接口,因此開發(fā)者只需要”繼承”?Core
?對象,然后根據(jù)需要覆蓋對應(yīng)的接口實現(xiàn)方法即可。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: