Clojure oj 是一个新的 Clojure 库,用来与数据库进行通讯,灵感来自于 Ring。
Features
- 为您提供运行和生成SQL的标准界面
- 重点介绍SQL的最常见和有用的功能
- 强制进行查询的类型检查和验证
- 合理的默认值
- 简洁而强大的API
- 鼓励可重复使用的组件
Anti-features
- 不要尝试完全实现SQL
- 不需要您编写SQL
- 不创建自己的特定领域语言
- 不会令你惊讶
示例代码:
(require [oj.core :as oj])
[oj.modifiers :as db])
(defn find-by-username [username]
(-> (db/query :users)
(db/select [:id :username :email :created_at])
(db/where {:username username})
(oj/exec db-config)
(first)))
(find-by-username "taylorlapeyre")
; => {:id 1 :username "taylorlapeyre"}