阅读golang sqlx文档
This commit is contained in:
@@ -267,3 +267,18 @@ err = tx.Commit()
|
||||
|
||||
在对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