gdb模块使用了非常灵活且扩展性强的接口设计,接口设计允许开发者可以非常方便地自定义实现和替换接口定义中的任何方法。
gdb
DB
接口文档:https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#DB
DB接口是数据库操作的核心接口,也是我们通过ORM操作数据库时最常用的接口,这里主要对接口的几个重要方法做说明:
ORM
Open
*sql.DB
Do*
link
Link
master-slave
slave
HandleSqlBeforeCommit
SQL
GoFrame ORM Relations
Driver
接口文档:https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#Driver
开发者自定义的驱动需要实现以下接口:
// 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方法用于根据Core数据库基础对象以及ConfigNode配置对象创建驱动对应的数据库操作对象,需要注意的是,返回的数据库对象需要实现DB接口。而数据库基础对象Core已经实现了DB接口,因此开发者只需要”继承”Core对象,然后根据需要覆盖对应的接口实现方法即可。
New
Core
ConfigNode