clojure 连接mysql

来源:互联网 发布:淘宝女装c店排名2016 编辑:程序博客网 时间:2024/06/05 14:25

需要将 java.jdbc-0.2.3.jar 和 java的jdbc driver 的jar包

(require '[clojure.java.jdbc :as sql])(def mysql-db{               :subprotocol "mysql"              :subname "//192.168.171.128:3306/DB"              :user ""              :password ""});(defn create-fruit  "Create a table"  []  (sql/create-table    :fruit    [:name "varchar(32)" "PRIMARY KEY"]    [:appearance "varchar(32)"]    [:cost :int]    [:grade :real]))(sql/with-connection  mysql-db   (create-fruit) );(sql/with-connection mysql-db  (sql/insert-records :fruit    {:name "Apple" :appearance "rosy" :cost 24}    {:name "Orange" :appearance "round" :cost 49}))(println (sql/with-connection mysql-db  (sql/with-query-results rows    ["SELECT * FROM fruit WHERE appearance = ?" "rosy"]    (:cost (first rows)))))

第一次运行就会报   

Clojure Compiler: Table 'fruit' already exists

但是,所有的操作都执行了,这一点很奇怪,应该看看jdbc.clj 源码