Comment faire pour me connecter à une base de données MySQL à partir de Clojure?
Hypothèse: vous avez déjà les deux Clojure et MySQL en cours d'exécution sur votre machine.
Comment voulez-vous de les faire parler?
Vous devez vous connecter pour publier un commentaire.
Hypothèse: vous avez déjà les deux Clojure et MySQL en cours d'exécution sur votre machine.
checkout et de construire clojure-contrib:
Mettre l'résultant clojure-contrib.jar sur votre CLASSPATH.
Télécharger MySQL Connector/J et de mettre le mysql-connector-java-5.1.7-bin.jar sur votre CLASSPATH
Vous pourriez avoir à exécuter votre JVM avec ces arguments:
Déterminer l'URL de connexion de votre base de données MySQL
Par exemple, si vous utilisez MySQL sous MAMP ensuite l'URL que vous utilisez pour JDBC ressemblera à quelque chose comme:
L'url est décomposé en ces composants:
jdbc:
mysql
localhost
8889
Faire ce clojure script, modifier la base de données les paramètres de connexion pour correspondre à votre URL, enregistrer en tant que test.clj, compiler et exécuter.
NB Ce code a été adapté à partir d'un code similaire écrit par Mark Volkmann à accéder à une base de données Postgres de Clojure
ssh -L 1234:localhost:3306 user@remoteserver
. Vérifiez également GNU Écran pour le rendre plus facile à traiter avec de multiples terminaux.C'est un lein-réponse, avec beaucoup de conseils de ce blog par Nurullah Akkaya:
ajouter des dépendances à votre
project.clj
:exécuter
lein deps
à partir de la ligne de commande à saisir les dépendancesindiquez vos informations de connexion dans une carte:
utilisation
with-connection
etwith-query-results
macros (& autres):les étapes 3 & 4 peuvent être soit à partir de la repl (
lein repl
pour le démarrer) ou dans les conditions normales de code sourceÀ compter de 2016:
à l'aide de Leiningen,
ajouter des dépendances à l'intérieur du projet.clj:
besoin connecteur de base de données à l'intérieur de l'espace de noms définition:
définir la connexion à la base:
interroger la base de données:
trouver plus d'exemples au
http://clojure-doc.org/articles/ecosystem/java_jdbc/using_sql.html
Si vous voulez un peu de sucre syntaxique, vous pouvez essayer de Korma.
Docs
Github
defdb
dans l'extrait ci-dessus, en effet, des points de Postgres, la documentation couvre MySql parmi d'autres bases de données. Voir ici: sqlkorma.com/docs#db Peut-être l'extrait de code peut être mise à jour pour avoir une meilleure corrélation avec la question.