Presupposto:hai già sia Clojure che MySQL in esecuzione sulla tua macchina.
-
verifica e crea clojure-contrib :
git clone git://github.com/richhickey/clojure-contrib.git cd clojure-contrib build
Inserisci il risultato clojure-contrib.jar sul tuo CLASSPATH .
-
Scarica MySQL Connector/J e inserisci mysql-connector-java-5.1.7-bin.jar sul tuo CLASSPATH
Potrebbe essere necessario eseguire la JVM con questi argomenti:
-Djdbc.drivers=com.mysql.jdbc.Driver
-
Determina l'URL di connessione del tuo database MySQL
Ad esempio, se stai eseguendo MySQL in MAMP quindi l'URL che useresti in JDBC sarà simile a:
conn = DriverManager.getConnection ("jdbc:mysql://localhost:8889/db_name?user=root&password=root")
L'URL è suddiviso in questi componenti:
- protocollo:
jdbc:
- sottoprotocollo:
mysql
- db-host:
localhost
- porta db:
8889
- nome utente
- password
- protocollo:
-
Crea questo script clojure, modifica i parametri di connessione al database in modo che corrispondano al tuo URL, salva come test.clj, compila ed esegui.
(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 Questo codice è stato adattato da un codice simile scritto da Mark Volkmann per accesso a Database Postgres di Clojure