sql >> Databáze >  >> RDS >> Mysql

Jak se připojím k databázi MySQL z Clojure?

Předpoklad:na vašem počítači již běží Clojure i MySQL.

  1. pokladna a sestavení clojure-contrib :

    git clone git://github.com/richhickey/clojure-contrib.git
    cd clojure-contrib
    build
    

    Vložte výsledný clojure-contrib.jar na vašem CLASSPATH .

  2. Stáhnout MySQL Connector/J a vložte mysql-connector-java-5.1.7-bin.jar na vašem CLASSPATH

    Možná budete muset spustit svůj JVM s těmito argumenty:

    -Djdbc.drivers=com.mysql.jdbc.Driver
    
  3. Určete adresu URL připojení vaší databáze MySQL

    Pokud například používáte MySQL pod MAMP pak URL, které byste použili v JDBC, bude vypadat nějak takto:

    conn = DriverManager.getConnection
            ("jdbc:mysql://localhost:8889/db_name?user=root&password=root")
    

    Adresa URL je rozdělena do těchto složek:

    • protokol:jdbc:
    • podprotokol:mysql
    • db-host:localhost
    • db-port:8889
    • uživatelské jméno
    • heslo
  4. Vytvořte tento skript clojure, upravte parametry připojení k databázi tak, aby odpovídaly vaší adrese URL, uložte jako test.clj, zkompilujte a spusťte.

    (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.

Poznámka:Tento kód byl upraven z podobného kódu napsaného Markem Volkmannem pro přístup Postgres databáze od Clojure



  1. Hledáte příspěvky s tagem1 AND tag2? (pomocí spojovací tabulky) Existuje / Mám / poddotazy... Co použít?

  2. Jak ovládat selhání replikace pro MySQL a MariaDB

  3. Převeďte tento dotaz na výmluvný

  4. Java spuštěná spouštěčem MySQL