常规的事务操作方法为 Begin/Commit/Rollback
,每一个方法指定特定的事务操作。开启事务操作可以通过执行 db.Begin
方法,该方法返回事务的操作对象,类型为 *gdb.Tx
,通过该对象执行后续的数据库操作,并可通过 tx.Commit
提交修改,或者通过 tx.Rollback
回滚修改。
常见问题注意:开启事务操作后,请务必在不需要使用该事务对象时,通过 Commit
/ Rollback
操作关闭掉该事务,建议充分利用好 defer
方法。如果事务使用后不关闭,在应用侧会引起 goroutine
不断激增泄露,在数据库侧会引起事务线程数量被打满,以至于后续的事务请求执行超时。此外,建议尽可能使用后续介绍的 Transaction
闭包方法来安全实现事务操作。