Announcement

Collapse
No announcement yet.

MySQL und Java

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL und Java

    Hallo,

    bin neu hier und auch neu im Thema Java und MySQL. Benötige dringend Tips wie ich eine MySQL DB in Java sinnvoll einbinden kann. Das ganze soll dann auch noch unter Windows :-) von statten geh'n (oder ist das, weil Java, auch dann plattformunabhängig?)?
    Würde mich worklche freueun wenn mir da jemand weiterhelfen kann :-)

    Vielen Dank Martina

  • #2
    Um generell mit Java arbeiten zu können benötigt man zuerst mal ein SDK (ein Software Development Kit). Die Installation des SUm generell mit Java arbeiten zu können benötigt man zuerst mal ein SDK (ein Software Development Kit). Die Installation des SDK wird hier nicht weiter behandelt (unter java.sun.com ist es erhältlich). Die Dokumentation gibt diesbezüglich exakte Auskunft. Und MySQL muss natürlich installiert sein (www.mysql.com).

    Datanbank-Programme in Java werden mit Hilfe des <i>JDBC</i>-Interfaces (JDBC=Java Database Connectivity) erstellt - unterZuhilfenahme des passenden Treibers für die entsprechende Datenbank-Engine - in diesem Fall für das RDBMS MySQL. Die <i>JDBC</i>-Architektur, es handelt sich hierbei um ein generisches Interface, ist <i>Perl DBI</i> bzw. dem <i>Python DB API</i> nicht unähnlich.

    Um nun mit Java auf den MySQL-Server zugreifen zu können, brauchen Sie weiterhin einen MySQL-spezifischen <i>JDBC</i>-Treiber wie zum Beispiel den <i>MySQL Connector/J</i> Treiber. Dieser Treiber ist gottseidank frei zu beziehen und wird aktiv betreut (es handelt sich im Falle von <i>MySQL Connector/J</i> um den Nachfolger von <i>MM.MySQL</i> von Marc Mathew).

    Nur nebenbei: Wer noch den alten <i>MM.MySQL</i>-Treiber installiert hat, kann ganz simpel updaten: Wann immer Sie <i>org.gjt.mm.mysql</i> in Ihrem Java-Code zu Gesicht bekommen, sollten Sie diese Zeile durch <i>com.mysql.jdbc</i> erstzen - das ist alles.

    Ein kleines Beispiel soll die typische Vorgehnsweise eines Verbindungsaufbaus zu einem MySQL-Server mit Java demonstrieren:

    <PRE>

    // Datei Connector.java - Verbindung mit MySQL-Server herstellen

    import java.sql.*;

    public class Connector {

    public static void main(String[] args) {

    Connection conn = null;
    String url = "jdbc:mysql://localhost/meinedatenbank";
    String user = "ich";
    String pass = "geheim";

    try {
    Class.forName("com.mysql.jdbc.Driver").newInstance ();
    conn = DriverManager.getConnection(url, user, pass);
    System.out.println("Verbunden");
    }
    catch (Exception e) {
    System.err.println("Kann nicht verbinden!");
    }
    finally {
    if (conn != null) {
    try {
    conn.close();
    System.out.println("Verbindung beendet.");

    } catch(Exception e) {
    /* Fehler beim Schliessen ignorieren */
    }
    }
    }
    }
    }

    </PRE>

    Die Anweisung <i>import java.sql.*;</i> wird von allen <i>JDBC</i>-Programmen erwartet - sie wickelt den Zugriff auf alle Datentypen, Klassen und Infaces, die für die Interaktion mit dem Datenbankserver relevant sind, ab.
    Grundsätzlich ist der Verbindungsaufbau zu einer Datenbank-Engine ein Zwei-Schritte-Prozess.

    Zuerst wird der Treiber registriert (die Anweisung <i>Class.forName()</i> regelt das); dann wird mit <i>DriverManager.getConnection()</i> die Verbindung zum DB-Server hergestellt. Der Aufruf gibt ein <i>Connection</i>-Objekt zurück, welches Information über den Verbindungsstatus mit sich führt.

    Falls Sie einen anderen Treiber verwenden, müssen Sie die Dokumentation dieses Treibers studieren. Prinzipiell sollte das Ganze ähnlich funktionieren.

    Die Anweisung <i>DriverManager.getConnection()</i> bekommt drei Argumente mit auf den Weg: einen URL, den Usernamen und das Passwort. Das allgemeine Format eines JDBC-URL sieht folgendermaßen aus:

    <i>jdbc:driver://host_name/database_name</i>

    Für JDBC-Programme ist das Protokoll (Designator) stets mit <i>jdbc</i> zu benennen. Dann folgt der Treibername im URL (Sub-Designator). Beide Designatoren müssen explizit angegeben werden - sonst gibt es Probleme.
    Falls <i>host_name</i> weggelassen wird, wird angenommen, dass es sich <i>localhost</i> handelt. Für <i>non-localhost</i> Verbindungen ist es überdies möglich, zusätzlich den Port zu spezifizieren. Ein Beispiel variiert die obige Anweisung entsprechend:

    <i>String url = "jdbc:mysql://meinedomain.net:3307/meinedatenbank";</i>

    Die simpelste Form des JD

    Comment


    • #3
      Um generell mit Java arbeiten zu können benötigt man zuerst mal ein SDK (ein Software Development Kit). Die Installation des SDK wird hier nicht weiter behandelt (unter java.sun.com ist es erhältlich). Die Dokumentation gibt diesbezüglich exakte Auskunft. Und MySQL muss natürlich installiert sein (www.mysql.com).

      Datanbank-Programme in Java werden mit Hilfe des <i>JDBC</i>-Interfaces (JDBC=Java Database Connectivity) erstellt - unterZuhilfenahme des passenden Treibers für die entsprechende Datenbank-Engine - in diesem Fall für das RDBMS MySQL. Die <i>JDBC</i>-Architektur, es handelt sich hierbei um ein generisches Interface, ist <i>Perl DBI</i> bzw. dem <i>Python DB API</i> nicht unähnlich.

      Um nun mit Java auf den MySQL-Server zugreifen zu können, brauchen Sie weiterhin einen MySQL-spezifischen <i>JDBC</i>-Treiber wie zum Beispiel den <i>MySQL Connector/J</i> Treiber. Dieser Treiber ist gottseidank frei zu beziehen und wird aktiv betreut (es handelt sich im Falle von <i>MySQL Connector/J</i> um den Nachfolger von <i>MM.MySQL</i> von Marc Mathew).

      Nur nebenbei: Wer noch den alten <i>MM.MySQL</i>-Treiber installiert hat, kann ganz simpel updaten: Wann immer Sie <i>org.gjt.mm.mysql</i> in Ihrem Java-Code zu Gesicht bekommen, sollten Sie diese Zeile durch <i>com.mysql.jdbc</i> erstzen - das ist alles.

      Ein kleines Beispiel soll die typische Vorgehnsweise eines Verbindungsaufbaus zu einem MySQL-Server mit Java demonstrieren:

      <PRE>

      // Datei Connector.java - Verbindung mit MySQL-Server herstellen

      import java.sql.*;

      public class Connector {

      public static void main(String[] args) {

      Connection conn = null;
      String url = "jdbc:mysql://localhost/meinedatenbank";
      String user = "ich";
      String pass = "geheim";

      try {
      Class.forName("com.mysql.jdbc.Driver").newInstance ();
      conn = DriverManager.getConnection(url, user, pass);
      System.out.println("Verbunden");
      }
      catch (Exception e) {
      System.err.println("Kann nicht verbinden!");
      }
      finally {
      if (conn != null) {
      try {
      conn.close();
      System.out.println("Verbindung beendet.");

      } catch(Exception e) {
      /* Fehler beim Schliessen ignorieren */
      }
      }
      }
      }
      }

      </PRE>

      Die Anweisung <i>import java.sql.*;</i> wird von allen <i>JDBC</i>-Programmen erwartet - sie wickelt den Zugriff auf alle Datentypen, Klassen und Infaces, die für die Interaktion mit dem Datenbankserver relevant sind, ab.
      Grundsätzlich ist der Verbindungsaufbau zu einer Datenbank-Engine ein Zwei-Schritte-Prozess.

      Zuerst wird der Treiber registriert (die Anweisung <i>Class.forName()</i> regelt das); dann wird mit <i>DriverManager.getConnection()</i> die Verbindung zum DB-Server hergestellt. Der Aufruf gibt ein <i>Connection</i>-Objekt zurück, welches Information über den Verbindungsstatus mit sich führt.

      Falls Sie einen anderen Treiber verwenden, müssen Sie die Dokumentation dieses Treibers studieren. Prinzipiell sollte das Ganze ähnlich funktionieren.

      Die Anweisung <i>DriverManager.getConnection()</i> bekommt drei Argumente mit auf den Weg: einen URL, den Usernamen und das Passwort. Das allgemeine Format eines JDBC-URL sieht folgendermaßen aus:

      <i>jdbc:driver://host_name/database_name</i>

      Für JDBC-Programme ist das Protokoll (Designator) stets mit <i>jdbc</i> zu benennen. Dann folgt der Treibername im URL (Sub-Designator). Beide Designatoren müssen explizit angegeben werden - sonst gibt es Probleme.
      Falls <i>host_name</i> weggelassen wird, wird angenommen, dass es sich <i>localhost</i> handelt. Für <i>non-localhost</i> Verbindungen ist es überdies möglich, zusätzlich den Port zu spezifizieren. Ein Beispiel variiert die obige Anweisung entsprechend:

      <i>String url = "jdbc:mysql://meinedomain.net:3307/meinedatenbank";</i>

      Die simpelste Form des JDBC-URLs würde wiederum so aussehen:

      <i>jdbc:driver:///</i>

      Der User würde versuchen, sich von <i>localhost</i> aus zu v

      Comment


      • #4
        Hallo Forum
        danke für diesen Beitrag, ich habe leider Probleme mit dem, ich kann vermutlich den DAtenbanktreiber nicht richtig einbinden, obwohl ich ihn installiert habe, :

        <code>

        // Datei Connector.java - Verbindung mit MySQL-Server herstellenimport java.sql.*;public class Connector { public static void main(String[] args) { Connection conn = null; String url = "jdbc:mysql://localhost/meinedatenbank"; String user = "ich"; String pass = "geheim"; try { Class.forName("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection(url, user, pass); System.out.println("Verbunden"); } catch (Exception e) { System.err.println("Kann nicht verbinden!"); } finally { if (conn != null) { try { conn.close(); System.out.println("Verbindung beendet."); } catch(Exception e) { /* Fehler beim Schliessen ignorieren */ } } } }}

        </code>

        Das Programm springt sofort zu den Teil :

        catch (Exception e) {
        System.err.println("Kann nicht verbinden!");
        }
        vieleicht kann mir jemand helfen den Treiber richtig einbinden??
        danke
        mirsa

        Comment


        • #5
          Hallo
          ich habe noch Probleme mit dem einbinden von Treibern für den MySQL Server, das Programm springt gleich zu den Teil wo die Err behandlung stattfindet, also hier:

          catch (Exception e) {
          System.err.println("Kann nicht verbinden!");
          }

          wie soll ich den Treiber richtig einbinden? Ich habe den MyODBC-standard-3.51.07-win.exe Treiber heruntergeladen und installiert, wie muß jetzt die VErbindung aussehen?
          Danke
          Mirsa

          Comment


          • #6
            Für das o.g. Beispiel brauchst Du MySQL Connector/J, den JDBC-Treiber für MySQL. ODBC wird Dir da nicht weiterhelfen.

            Download unter http://dev.mysql.com/downloads/connector/j/3.1.html

            Gruß
            Hendri

            Comment


            • #7
              Man kann auch den eva/3 Application Builder nutzen, es ist aber ein eclipse PlugIn also ist eclipse Voraussetzung. Dort kann man einfach bis zu vier DB in einer Applikation anbinden und diese sind sogar hochperformant. Einfach auf www.optadata.com downloaden für nicht kommerzielle Zwecke kostenlos

              Comment

              Working...
              X