, . Doc , 2.3 , db . :
(defn with-connection*
"Evaluates func in the context of a new connection to a database then
closes the connection."
[db-spec func]
(with-open [^java.sql.Connection con (get-connection db-spec)]
(binding [*db* (assoc *db* :connection con :level 0 :rollback (atom false))]
(func))))
A connection pool can be useful for lazy creation, but this does not make them open. It seems like you need to establish a connection. However, the latter API emphasizes simply creating a connection and passing it to each call. Although ALPHA still looks, it looks like the future for this library (and is still compatible with the connection pool). From the wiki library:
(require '[clojure.java.jdbc :as j]
'[clojure.java.jdbc.sql :as s])
(def mysql-db {:subprotocol "mysql"
:subname "//127.0.0.1:3306/clojure_test"
:user "clojure_test"
:password "clojure_test"})
(j/insert! mysql-db :fruit
{:name "Apple" :appearance "rosy" :cost 24}
{:name "Orange" :appearance "round" :cost 49})
source
share