40

Clojureのデータベースを使用する方法は何ですか?

Clojureから、Javaでできることは何でもできることを知っていますが、それは、Clojureの単純さと衝突する過度に複雑なもの(Hibernateなど)を使用してしまう可能性があることを意味します。推奨事項やコメントはありますか?

4

12 に答える 12

19

clojure-contribには、JDBC(java.sql.DriverManager)のシンラッパーであるSQLライブラリがあります。付属のテストファイルには、その使用例がいくつかあります。

于 2008-11-17T03:45:29.850 に答える
14

私は今(2011年後半の時点で)Kormaをお勧めします-「ClojureのおいしいSQL」

これは美しい小さな SQL DSL です。Web サイトの例を次に示します。

(select users
  (aggregate (count :*) :cnt)
  (where (or (> :visits 20)
             (< :last_login a-year-ago))))
于 2011-11-04T10:20:25.280 に答える
8

Googleからここに来る人のために、2011年11月現在の回答を追加したいと思います。

Clojure1.3の現在のコアSQLアクセスライブラリはclojure.java.jdbcです。ClojureQLKormaのように、この上に構築された非常に優れたライブラリがいくつかあります。

于 2011-11-14T13:34:58.177 に答える
8

Java ライブラリの使用にオープンであるが、単純さを取り入れたものが必要な場合は、おそらくPersistを気に入るはずです。わずか 10 分で、ニーズに合っているかどうかを確認できます。

于 2008-11-24T03:49:08.967 に答える
5

Clojureの単純なキー/値データベースにBerkeleyDBを使用しました。ここを参照してください。

于 2009-03-20T11:12:35.727 に答える
4

リレーショナル代数を取り入れたClojureQLがあります。

于 2010-11-19T13:35:40.167 に答える
4

最近では、Datomicや、非常に興味深いリレーショナル (SQL 以外の!) データベース機能用のDataScriptなどの多くの同様のソリューションもあります。

于 2014-11-17T23:46:04.257 に答える
1

永続的な接続や複数のデータベースへの接続が必要で、頻繁に接続を再確立したくない場合は、DB 接続プールを使用することをお勧めします。BoneCP や Tomcat CP のようなもの。

これらのパッケージから DataSource を (clojure.contrib.sql/with-connection ...) に提供できます。

于 2010-11-11T08:07:49.233 に答える
1

次に、SQLLite があります。この簡単な例を見てください: https://github.com/ogrim/clojure-sqlite-example

于 2016-04-14T12:30:57.727 に答える
0

CLJ-Record、https://github.com/duelinmarkers/clj-recordを試すこともできます

于 2011-01-09T09:12:39.200 に答える