在没有 block/function 的 Clojure 中以 JDBC 开始交易

Starting a transaction with JDBC in Clojure without a block/function

是否可以使用 JDBC 在 Clojure 中启动事务而不必将代码封装在块中?显然我必须调用另一个函数来稍后结束交易。

clojure.java.jdbc 是对各种 Java 数据库连接器实现的封装。如果你不想在块中使用 with-db-transaction,你可以与 get-connection 建立连接,将其保存在你的状态(例如原子)中,然后执行:

(.setAutoCommit conn false)

然后执行所有你想要的操作,然后

(.commit conn)