ClojureQL is an abstraction layer sitting on top of standard low-level JDBC SQL integration. It lets you interact with a database through objects which work as Clojure data types and thus can be composed and extended.
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.5</version> </dependency>
cake deps or lein deps
And import the library into your namespace
Please visit ClojureQL.SabreCMS.com for updated documentation.
In addition, the following people have made important contributions to ClojureQL:
- Roman Scherer (r0man)
- Christian Kebekus (ck)
- Herwig Hochleitner (bendlas)
- And several others
If you want to pitch in, we're actively looking for more brainpower.
Eclipse Public License - v 1.0, see LICENSE.