【GORM 之 DB】DB 包含当前数据库连接的信息

type DB  

type DB struct {
	sync.RWMutex
	Value        interface{}    // 值
	Error        error          // 错误
	RowsAffected int64          // 受影响的行
	……
}

DB 包含当前数据库连接的信息。


func Open 

Open 初始化一个新的db连接,需要先导入驱动程序(如:mysql 的驱动)。

func Open(dialect string, args ...interface{}) (db *DB, err error)

func (*DB) AddError  

AddError 将 err 添加到数据库。

func (s *DB) AddError(err error) error

未完待续……

// 导入 mysql 驱动程序
import _ "github.com/go-sql-driver/mysql"

func main() {
// 初始化一个新的 db 连接
  db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8mb4&parseTime=True&loc=Local")
}

GORM 已经封装了一些驱动程序,以便更容易记住驱动程序的导入路径,因此您可以使用:

import _ "github.com/jinzhu/gorm/dialects/mysql"
// import _ "github.com/jinzhu/gorm/dialects/postgres"
// import _ "github.com/jinzhu/gorm/dialects/sqlite"
// import _ "github.com/jinzhu/gorm/dialects/mssql"

func (*DB) AddError 

AddError 将 err 添加到数据库(暂时没用过)。gorm 定义的 err 如下:

var (
	// ErrRecordNotFound 返回一个“未找到记录错误”。仅在尝试使用结构查询数据库时发生;使用切片进行查询不会返回此错误
	ErrRecordNotFound = errors.New("record not found")    // 未找到记录
	// 当您尝试使用无效SQL进行查询时,会发生ErrInvalidSQL
	ErrInvalidSQL = errors.New("invalid SQL")            // 无效SQL
	// 尝试“提交”或“回滚”时发生 ErrInvalidTransaction
	ErrInvalidTransaction = errors.New("no valid transaction")    // 无有效事务
	//当您尝试用`Begin启动事务时,ErrCantStartTransaction 表示无法启动事务
	ErrCantStartTransaction = errors.New("can't start transaction")    // 无法启动事务
	// ErrUnaddressable不可寻址值
	ErrUnaddressable = errors.New("using unaddressable value")    // 使用不可修改的值
)

func IsRecordNotFoundError 

IsRecordNotFoundError 如果 err 包含 ErrRecordNotFound  错误,则返回true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值