Giả định:bạn đã chạy cả Clojure và MySQL trên máy tính của mình.
-
kiểm tra và xây dựng clojure-Contrib :
git clone git://github.com/richhickey/clojure-contrib.git cd clojure-contrib build
Đặt clojure-Contrib.jar kết quả trên CLASSPATH của bạn .
-
Tải xuống Trình kết nối MySQL / J và đặt mysql-connector-java-5.1.7-bin.jar trên CLASSPATH của bạn
Bạn có thể phải chạy JVM của mình với các đối số sau:
-Djdbc.drivers=com.mysql.jdbc.Driver
-
Xác định URL kết nối của cơ sở dữ liệu MySQL của bạn
Ví dụ:nếu bạn đang chạy MySQL trong MAMP thì URL mà bạn sử dụng trong JDBC sẽ trông giống như sau:
conn = DriverManager.getConnection ("jdbc:mysql://localhost:8889/db_name?user=root&password=root")
Url được chia thành các thành phần sau:
- giao thức:
jdbc:
- giao thức con:
mysql
- db-host:
localhost
- db-port:
8889
- tên người dùng
- mật khẩu
- giao thức:
-
Tạo tập lệnh clojure này, sửa đổi các tham số kết nối cơ sở dữ liệu để khớp với URL của bạn, lưu dưới dạng test.clj, biên dịch và chạy.
(use 'clojure.contrib.sql) ;;' satisfy prettify
(let [db-host "localhost"
db-port 8889
db-name "db_name"]
(def db {:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname (str "//" db-host ":" db-port "/" db-name)
:user "root"
:password "root"})
(with-connection db
(with-query-results rs ["select * from languages"]
(dorun (map #(println (:language :iso_code %)) rs)))))
; rs will be a sequence of maps,
; one for each record in the result set.
NB Mã này được điều chỉnh từ mã tương tự do Mark Volkmann viết để truy cập a Cơ sở dữ liệu Postgres từ Clojure