阅读golang sqlx文档

This commit is contained in:
asahi
2025-06-18 13:34:31 +08:00
parent ffe73a4a2a
commit 362ccaec26

View File

@@ -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。