Suposición:ya tiene Clojure y MySQL ejecutándose en su máquina.
-
pagar y compilar clojure-contrib :
git clone git://github.com/richhickey/clojure-contrib.git cd clojure-contrib build
Coloque el clojure-contrib.jar resultante en tu CLASSPATH .
-
Descargar Conector MySQL/J y pon el mysql-connector-java-5.1.7-bin.jar en tu CLASSPATH
Es posible que deba ejecutar su JVM con estos argumentos:
-Djdbc.drivers=com.mysql.jdbc.Driver
-
Determine la URL de conexión de su base de datos MySQL
Por ejemplo, si está ejecutando MySQL bajo MAMP entonces la URL que usaría en JDBC se parecerá a:
conn = DriverManager.getConnection ("jdbc:mysql://localhost:8889/db_name?user=root&password=root")
La URL se divide en estos componentes:
- protocolo:
jdbc:
- subprotocolo:
mysql
- db-host:
localhost
- puerto-db:
8889
- nombre de usuario
- contraseña
- protocolo:
-
Cree este script clojure, modifique los parámetros de conexión de la base de datos para que coincidan con su URL, guárdelo como test.clj, compile y ejecútelo.
(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.
Nota:este código fue adaptado de un código similar escrito por Mark Volkmann para acceder a un Base de datos Postgres de Clojure