之前写过用[url=http://clojure.iteye.com/admin/blogs/1741375]clojure jdbc来连接数据库进行操作[/url]。对于很多Java开发人员来说,用惯了Hibernate、MyBatis之类的持久化框架,似乎不用框架写都不会代码了。
ClojureQL,从名字上就可以大概猜出这是一个对SQL进行Clojure DSL封装的一个持久化框架。
[b]添加依赖:[/b]
[clojureql "1.0.4"]
[mysql/mysql-connector-java "5.1.21"]
[c3p0/c3p0 "0.9.1.2"]
[b]样例代码:[/b]
(ns test-clojureql.core
(:import (javax.sql DataSource))
(:use clojureql.core))
(def db {:subprotocol "mysql"
:subname "//127.0.0.1:3306/test"
:user "root"
:password "123"
:auto-commit true
:fetch-size 1000})
;;查询users表,并开启debug模式打印sql语句。
(binding [*debug* true]
(doseq [row @(-> (table db :users)
(project [:id :name])
(take 2)
(sort [:id#desc]))]
(prn row)))
这只是个简单的入门例子,要学习更多的用法(如:排序、关联、分组统计等)请去[url=http://www.clojureql.org/documentation.html]这里[/url]
参考资料:
[url]http://clojureql.org/[/url]
[url]https://github.com/LauJensen/clojureql[/url]
[url=http://vimeo.com/16958466]视频地址(需要翻X,你懂的!)[/url]