在没有 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)
是否可以使用 JDBC 在 Clojure 中启动事务而不必将代码封装在块中?显然我必须调用另一个函数来稍后结束交易。
clojure.java.jdbc
是对各种 Java 数据库连接器实现的封装。如果你不想在块中使用 with-db-transaction
,你可以与 get-connection
建立连接,将其保存在你的状态(例如原子)中,然后执行:
(.setAutoCommit conn false)
然后执行所有你想要的操作,然后
(.commit conn)