ClojureQL is an abstraction layer sitting on top of standard low-level JDBC SQL integration. It lets you interact with a database through a series of objects which work as Clojure data types.
ClojureQL is modeled around the primitives defined in Relational Algebra. http://en.wikipedia.org/wiki/Relational_algebra
For the user, this means that all queries compose and are never executed unless dereferenced or called with a function that has the ! suffix.
As a help for debugging, wrap your statements in (binding [*debug* true]) to see the compiled SQL statement printed to stdout.
Add the following to your project.clj or pom.xml:
<dependency> <groupId>clojureql</groupId> <artifactId>clojureql</artifactId> <version>1.0.4</version> </dependency>
And import the library into your namespace
Please visit ClojureQL.org for updated documentation.
In addition, the following people have made important contributions to ClojureQL:
- Roman Scherer (r0man)
- Christian Kebekus (ck)
- Herwig Hochleitner (bendlas)
Eclipse Public License - v 1.0, see LICENSE.