阅读golang sqlx文档
This commit is contained in:
@@ -267,3 +267,18 @@ err = tx.Commit()
|
|||||||
|
|
||||||
在对Tx对象进行使用时,应当确保调用`commit`或`rollback`中的一个方法,否则连接将会被持有,直至发生垃圾回收。
|
在对Tx对象进行使用时,应当确保调用`commit`或`rollback`中的一个方法,否则连接将会被持有,直至发生垃圾回收。
|
||||||
|
|
||||||
|
在事务的声明周期中,只会关联一个连接,且`在执行其他查询前,row和rows对应的cursor必须被scan或关闭`。
|
||||||
|
|
||||||
|
## PreparedStatement
|
||||||
|
可以通过`sqlx.DB.Prepare()`方法来对想要重用的statements进行prepare操作:
|
||||||
|
```go
|
||||||
|
stmt, err := db.Prepare(`SELECT * FROM place WHERE telcode=?`)
|
||||||
|
row = stmt.QueryRow(65)
|
||||||
|
|
||||||
|
tx, err := db.Begin()
|
||||||
|
txStmt, err := tx.Prepare(`SELECT * FROM place WHERE telcode=?`)
|
||||||
|
row = txStmt.QueryRow(852)
|
||||||
|
```
|
||||||
|
|
||||||
|
prepare操作实际会在数据库运行,故而其需要connection和connection state。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user