clojure学习点滴2
来源:互联网 发布:淘宝一千零一夜2 编辑:程序博客网 时间:2024/06/05 20:09
1 clojure 与 数据库操作 korma
(:use [korma.db]) (:use [korma.core])
(def db (postgres {:db "test"
:user "lizd"
:password "lizd"
;; optional keys
:host "localhost"
:port "5432"
:delimiters ""}))
(defdb pg db)
(defentity pgbooks (table :books) (database pg)) ;; 当有多个数据库连接时,需要(database pg)表达式
2 clojure 与 pgsql9.3 的json
(jd/insert! pgsql-db :jsontest {:id 4 :data (doto (PGobject.) (.setType "json") (.setValue (slurp "http://localhost:8082/product/1001"))) })
(exec-raw ["insert into jsontest(id, data) values(?, to_json(?))" [2, (slurp "http://localhost:8080/wzh-04/fpcx")]] :results))
-- 读取json的操作 (def d (:b_data (first (select pgbooks (limit 1) (offset 2))))) (class d) org.postgresql.util.PGobject (.getType d) "json" (.getValue d) "{ \"name\": \"Book the Third\", \"author\": { \"first_name\": \"Jim\", \"last_name\": \"Brown\" } }" (require '[cheshire.core :as json]) (json/decode (.getValue d)) {"name" "Book the Third", "author" {"first_name" "Jim", "last_name" "Brown"}}
(defmulti decode-pgobject (fn [pgobject] (keyword (.getType pgobject))))(defmethod decode-pgobject :citext [pgobject] (.getValue pgobject))(defmethod decode-pgobject :json [pgobject] (if-let [value (.getValue pgobject)] (json/read-str value :key-fn keyword)))(defmethod decode-pgobject :default [pgobject] pgobject)(decode-pgobject d) => {:name "Book the Third", :author {:first_name "Jim", :last_name "Brown"}}
- clojure学习点滴2
- clojure学习点滴
- Clojure点滴
- 学习clojure
- Clojure 学习
- Clojure 学习
- Clojure 学习入门(2)- eclipse 插件
- js学习点滴2
- c++学习点滴2
- clojure学习资源
- 开始学习 Clojure 语言
- clojure学习参考资料
- 学习笔记之Clojure
- clojure-学习资料汇总
- clojure-学习资料汇总
- 良葛格java学习点滴2
- Android 学习点滴(2)
- iOS7学习点滴-笔记2
- 进制转换
- vim中查询修改文件编码格式
- DbAdapter 创建数据库及初始化 范例
- 任意进制加法计算
- linux下安装mysql后Access denied for user 'xxx'@'xxxxx' (using password: YES)
- clojure学习点滴2
- CListCtrl控件使用
- 函数式编程
- cronExpression表达式
- ORA-25153: Temporary Tablespace is Empty
- 关于android webview js桥(addJavascriptInterface) 失效的问题
- 设计模式2:鸭子-策略模式(Strategy)
- my everyday notes--
- 使用servicemix的camel的实例--查看日志--任务挂起命令--附带官网pdf--api