Clojure操做mysql

在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工具問題引發的。工具

相關文章
相關標籤/搜索