ClojureQL is an abstraction layer sitting on top of standard low-level JDBC SQL integration. It let's you interact with a database through a series of objects which work as Clojure data type.
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.
Installation
Add the following to your project.clj or pom.xml:
Cake/Lein artifact:
Maven:
<dependency>
<groupId>clojureql</groupId>
<artifactId>clojureql</artifactId>
<version>1.0.2</version>
</dependency>
Then execute
And import the library into your namespace
Manual
Please visit ClojureQL.org for updated documentation.
Credit
ClojureQL is primarily developed by Lau Jensen of Best In Class.
Large and significant contributions to both the design and codebase have been rendered by Justin Balthrop aka. ninjudd author of the powerful build tool Cake.
In addition, the following people have made important contributions to ClojureQL:
- Roman Scherer (r0man)
- Christian Kebekus (ck)
- Herwig Hochleitner (bendlas)
License
Eclipse Public License - v 1.0, see LICENSE.