2 Stimmen

Java mit einer Datenbank verbinden?

Ich habe Java mit der MySQL-DB mit dem folgenden Code verbunden und es funktioniert. Kann mir jemand erklären, was jede Zeile tut?

Class.forName("com.mysql.jdbc.Driver").newInstance();
        con = DriverManager.getConnection("jdbc:mysql://10.10.1.1/test","USERNAME","SATHE");
        Statement stmt=con.createStatement();

2voto

Denis Tulskiy Punkte 18706

Die erste Zeile lädt den Datenbanktreiber, indem die Treiberklasse geladen wird, da der DriverManager nach geladenen Klassen sucht, die JDBC-Treiber sind.

Second stellt eine Verbindung zur Datenbank mit dem angegebenen Pfad, Benutzernamen und Passwort her. Es gibt Ihnen ein Verbindungsobjekt zurück, mit dem Sie die Sitzung manipulieren, Anweisungen vorbereiten usw. können.

Der dritte schafft eine Aussage. Statement Objekt wird für die Ausführung von Abfragen verwendet.

1voto

javamonkey79 Punkte 17177
// loads the vendor specific jdbc library - there are many to choose from
Class.forName("com.mysql.jdbc.Driver").newInstance();

// this is what tells the library to connect, using the vendor specific pattern
con = DriverManager.getConnection("jdbc:mysql://10.10.1.1/test","USERNAME","SATHE");

// this prepares the statement from the connection.
Statement stmt=con.createStatement();

1voto

Gareth Davis Punkte 27204

Als Randbemerkung: In Version 1.6 gibt es keine Notwendigkeit für eine Fahrerregistrierungszeile:

Class.forName("com.mysql.jdbc.Driver");

Da die DriverManager findet den Treiber automatisch, vorausgesetzt, das jar befindet sich im Klassenpfad.

0voto

Wenn com.mysql.jdbc.Driver wird in die JVM geladen durch Class.forName() einige Methoden wie DriverManager.registerDriver() wird aufgerufen durch com.mysql.jdbc.Driver . Das heißt, mysql registriert sich im DriverManager. Also DriverManager.getConnection() funktionieren könnte.

Sie können die Java-Quelle lesen com.mysql.jdbc.Driver um sie zu entdecken.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X