在Eclipse中新建一個Clojure工程clj01html
clojure 操做mysql須要依賴mysql-connector-java、clojure-contrib與java.jdbc三個jar包。java
project.clj配置信息以下:配置完:dependencies 保存,系統會自動下載所配置的jar包信息。mysql
(defproject clj01 "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [ [org.clojure/clojure "1.5.1"] [org.clojure/java.jdbc "0.2.3"] [org.clojure/clojure-contrib "1.2.0"] [mysql/mysql-connector-java "5.1.26"] ])
新建mysql.cljsql
(ns clj01.mysql (:require [clojure.java.jdbc :as sql])) ;配置參數 (def mysql-db{ :classname "com.mysql.jdbc.Driver" :subprotocol "mysql" :subname "//127.0.0.1:3306/test" :user "root" :password "" }) ;連接數據庫 (sql/with-connection mysql-db) ;插入數據 (sql/with-connection mysql-db (sql/insert-records :user {:name "測試1" :age 25} {:name "測試2" :age 26})) ;刪除記錄 (sql/with-connection mysql-db (sql/delete-rows :user ["id > ?" 8])) ;更新記錄 (sql/with-connection mysql-db (sql/update-values :user ["id = ?" 8] {:name "測試" :age 35})) ;查詢記錄 (println (sql/with-connection mysql-db (sql/with-query-results rows ["select id,name,age from user where age > ?" 25] (dorun (map #(println %) rows)))))
表結構:數據庫
mysql> desc user; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | NULL | | | age | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+
問題:在第一次運行代碼時控制檯提示以下異常:eclipse
otFoundException Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath: clojure.lang.RT.load (RT.java:443)
重啓Eclipse以後問題解決,好像是Eclipse工具問題引發的。工具