需要将 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 源码