Aanname:je hebt al zowel Clojure als MySQL op je machine draaien.
-
afrekenen en bouwen clojure-contrib :
git clone git://github.com/richhickey/clojure-contrib.git cd clojure-contrib build
Zet de resulterende clojure-contrib.jar op uw CLASSPATH .
-
Download MySQL Connector/J en plaats de mysql-connector-java-5.1.7-bin.jar op uw CLASSPATH
Misschien moet u uw JVM uitvoeren met deze argumenten:
-Djdbc.drivers=com.mysql.jdbc.Driver
-
Bepaal de verbindings-URL van uw MySQL-database
Als u bijvoorbeeld MySQL uitvoert onder MAMP dan ziet de URL die u in JDBC zou gebruiken er ongeveer zo uit:
conn = DriverManager.getConnection ("jdbc:mysql://localhost:8889/db_name?user=root&password=root")
De url is onderverdeeld in deze componenten:
- protocol:
jdbc:
- subprotocol:
mysql
- db-host:
localhost
- db-poort:
8889
- gebruikersnaam
- wachtwoord
- protocol:
-
Maak dit clojure-script, pas de databaseverbindingsparameters aan zodat ze overeenkomen met uw URL, sla op als test.clj, compileer en voer uit.
(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 Deze code is aangepast van vergelijkbare code geschreven door Mark Volkmann om toegang te krijgen tot een Postgres-database van Clojure