修复统一err
This commit is contained in:
24
5.1.md
24
5.1.md
@@ -67,7 +67,7 @@ Close函数关闭当前的连接,以及执行释放连接拥有的资源等清
|
||||
|
||||
Begin函数返回一个代表事务处理的Tx,通过它你可以进行查询,更新等操作,或者对事务进行回滚、递交。
|
||||
|
||||
##drive.Stmt
|
||||
##driver.Stmt
|
||||
Stmt是一种准备好的状态,和Conn相关联,而且是只能应用于一个goroutine中,不能应用在多个goroutine中。
|
||||
|
||||
type Stmt interface {
|
||||
@@ -86,7 +86,7 @@ Exec函数执行Prepare准备好的sql,传入参数执行update/insert等操
|
||||
Query函数执行Prepare准备好的sql,传入需要的参数执行select操作,返回Rows结果集
|
||||
|
||||
|
||||
##drive.Tx
|
||||
##driver.Tx
|
||||
事务处理一般就两个过程,递交或者回滚。数据库驱动里面也只需要实现这两个函数就可以
|
||||
|
||||
type Tx interface {
|
||||
@@ -96,7 +96,7 @@ Query函数执行Prepare准备好的sql,传入需要的参数执行select操
|
||||
|
||||
这两个函数一个用来递交一个事务,一个用来回滚事务。
|
||||
|
||||
##drive.Execer
|
||||
##driver.Execer
|
||||
这是一个Conn可选择实现的接口
|
||||
|
||||
type Execer interface {
|
||||
@@ -105,7 +105,7 @@ Query函数执行Prepare准备好的sql,传入需要的参数执行select操
|
||||
|
||||
如果这个接口没有定义,那么在调用DB.Exec,就会首先调用Prepare返回Stmt,然后执行Stmt的Exec,然后关闭Stmt。
|
||||
|
||||
##drive.Result
|
||||
##driver.Result
|
||||
这个是执行Update/Insert等操作返回的结果接口定义
|
||||
|
||||
type Result interface {
|
||||
@@ -117,7 +117,7 @@ LastInsertId函数返回由数据库执行插入操作得到的自动增长ID号
|
||||
|
||||
RowsAffected函数返回query操作影响的数据条目数。
|
||||
|
||||
##drive.Rows
|
||||
##driver.Rows
|
||||
Rows是执行查询返回的结果集接口定义
|
||||
|
||||
type Rows interface {
|
||||
@@ -133,10 +133,10 @@ Columns函数返回查询数据库表的字段信息,这个返回的slice和
|
||||
|
||||
Close函数用来关闭Rows迭代器。
|
||||
|
||||
Next函数用来返回下一条数据,把数据赋值给dest。dest里面的元素必须是drive.Value的值除了string,返回的数据里面所有的string都必须要转换成[]byte。如果最后没数据了,Next函数最后返回io.EOF。
|
||||
Next函数用来返回下一条数据,把数据赋值给dest。dest里面的元素必须是driver.Value的值除了string,返回的数据里面所有的string都必须要转换成[]byte。如果最后没数据了,Next函数最后返回io.EOF。
|
||||
|
||||
|
||||
##drive.RowsAffected
|
||||
##driver.RowsAffected
|
||||
RowsAffested其实就是一个int64的别名,但是他实现了Result接口,用来底层实现Result的表示方式
|
||||
|
||||
type RowsAffected int64
|
||||
@@ -145,7 +145,7 @@ RowsAffested其实就是一个int64的别名,但是他实现了Result接口,
|
||||
|
||||
func (v RowsAffected) RowsAffected() (int64, error)
|
||||
|
||||
##drive.Value
|
||||
##driver.Value
|
||||
Value其实就是一个空接口,他可以容纳任何的数据
|
||||
|
||||
type Value interface{}
|
||||
@@ -159,7 +159,7 @@ Value的值必须所有的驱动里面控制的,Value要么是nil,要么是
|
||||
string [*]除了Rows.Next返回的不能是string.
|
||||
time.Time
|
||||
|
||||
##drive.ValueConverter
|
||||
##driver.ValueConverter
|
||||
ValueConverter接口定义了如何把一个普通的值转化成driver.Value的接口
|
||||
|
||||
type ValueConverter interface {
|
||||
@@ -168,11 +168,11 @@ ValueConverter接口定义了如何把一个普通的值转化成driver.Value的
|
||||
|
||||
在开发的数据库驱动包里面实现这个接口的函数在很多地方会使用到,这个ValueConverter有很多好处:
|
||||
|
||||
- 转化drive.value到数据库表相应的字段,例如int64的数据如何转化成数据库表uint16字段
|
||||
- 把数据库查询结果转化成drive.Value值
|
||||
- 转化driver.value到数据库表相应的字段,例如int64的数据如何转化成数据库表uint16字段
|
||||
- 把数据库查询结果转化成driver.Value值
|
||||
- 在scan函数里面如何把dirve.Value值转化成用户定义的值
|
||||
|
||||
##drive.Valuer
|
||||
##driver.Valuer
|
||||
Valuer接口定义了返回一个driver.Value的方式
|
||||
|
||||
type Valuer interface {
|
||||
|
||||
Reference in New Issue
Block a user