GoFrame 接口開發(fā)-基本介紹

2022-04-02 14:20 更新

?gdb?模塊使用了非常靈活且擴展性強的接口設(shè)計,接口設(shè)計允許開發(fā)者可以非常方便地自定義實現(xiàn)和替換接口定義中的任何方法。

DB接口

接口文檔:https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#DB

?DB?接口是數(shù)據(jù)庫操作的核心接口,也是我們通過?ORM?操作數(shù)據(jù)庫時最常用的接口,這里主要對接口的幾個重要方法做說明:

  1. ?Open?方法用于創(chuàng)建特定的數(shù)據(jù)庫連接對象,返回的是標準庫的?*sql.DB?通用數(shù)據(jù)庫對象。
  2. ?Do*?系列方法的第一個參數(shù)?link?為?Link?接口對象,該對象在?master-slave?模式下可能是一個主節(jié)點對象,也可能是從節(jié)點對象,因此如果在繼承的驅(qū)動對象實現(xiàn)中使用該?link?參數(shù)時,注意當前的運行模式。?slave?節(jié)點在大部分的數(shù)據(jù)庫主從模式中往往是不可寫的。
  3. ?HandleSqlBeforeCommit?方法將會在每一條?SQL?提交給數(shù)據(jù)庫服務(wù)端執(zhí)行時被調(diào)用做一些提交前的回調(diào)處理。
  4. 其他接口方法詳見接口文檔或者源碼文件。

DB接口關(guān)系


?GoFrame ORM Relations?

Driver接口

接口文檔: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)方法即可。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號