Annahme:Sie haben bereits sowohl Clojure als auch MySQL auf Ihrem Rechner ausgeführt.
-
auschecken und clojure-contrib erstellen :
git clone git://github.com/richhickey/clojure-contrib.git cd clojure-contrib build
Legen Sie die resultierende clojure-contrib.jar ab auf Ihrem CLASSPATH .
-
Laden Sie MySQL Connector/J herunter und legen Sie die mysql-connector-java-5.1.7-bin.jar ab auf Ihrem CLASSPATH
Möglicherweise müssen Sie Ihre JVM mit diesen Argumenten ausführen:
-Djdbc.drivers=com.mysql.jdbc.Driver
-
Ermitteln Sie die Verbindungs-URL Ihrer MySQL-Datenbank
Zum Beispiel, wenn Sie MySQL unter MAMP ausführen dann sieht die URL, die Sie in JDBC verwenden würden, in etwa so aus:
conn = DriverManager.getConnection ("jdbc:mysql://localhost:8889/db_name?user=root&password=root")
Die URL wird in diese Komponenten zerlegt:
- Protokoll:
jdbc:
- Unterprotokoll:
mysql
- db-host:
localhost
- DB-Port:
8889
- Benutzername
- Passwort
- Protokoll:
-
Erstellen Sie dieses Clojure-Skript, ändern Sie die Datenbankverbindungsparameter so, dass sie mit Ihrer URL übereinstimmen, speichern Sie sie als test.clj, kompilieren und führen Sie sie aus.
(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.
Hinweis:Dieser Code wurde von einem ähnlichen Code angepasst, der von Mark Volkmann geschrieben wurde, um auf a zuzugreifen Postgres-Datenbank von Clojure