Ich bin neu bei JDBC und ich versuche, eine Verbindung zu einer MySQL-Datenbank herzustellen. Ich benutze Connector/J-Treiber, aber ich kann die JDBC-Verbindungszeichenfolge für meine Class.forName()
-Methode nicht finden.
Angenommen, Ihr Fahrer befindet sich im Weg,
String url = "jdbc:mysql://localhost/test";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, "username", "password");
Hast du die Dokumentation gelesen?
https://dev.mysql.com/doc/connector-j/de/connector-j-reference-configuration-properties.html
Eine grundlegende Verbindungszeichenfolge sieht folgendermaßen aus:
jdbc:mysql://localhost:3306/dbname
Die Zeichenfolge class.forName lautet "com.mysql.jdbc.Driver", die Sie finden können (edit: jetzt auf derselben Seite).
"jdbc:mysql://localhost"
Aus den Oracle-Dokumenten ..
jdbc:mysql://[Host][,failoverhost...]
[:port]/[database]
[?propertyName1][=propertyValue1]
[&propertyName2][=propertyValue2]
Host: Port ist der Hostname und die Portnummer des Computers, auf dem sich Ihre Datenbank befindet. Wenn nicht angegeben, sind die Standardwerte für Host und Port 127.0.0.1 bzw. 3306.
Datenbank ist der Name der Datenbank, zu der eine Verbindung hergestellt werden soll. Wenn nicht angegeben, wird eine Verbindung ohne Standarddatenbank hergestellt.
Failover ist der Name einer Standby-Datenbank (MySQL Connector/J unterstützt Failover).
propertyName = propertyValue steht für eine optionale Liste mit Eigenschaften, die durch ein kaufmännisches und getrenntes Zeichen gekennzeichnet ist. Mit diesen Attributen können Sie MySQL Connector/J anweisen, verschiedene Aufgaben auszuführen.
Es ist sehr einfach :
jdbc:mysql://<hostname>:<port>/<dbname>?prop1
etc . Dabei werden <hostname>
und <port>
auf der Registerkarte Verbindung angegeben. Meist handelt es sich um localhost: 3306. <dbname>
wird auf der Registerkarte Systemprofil im Windows-Dienstnamen gefunden. Der Standardwert ist meistens MySQL5<x>
, wobei x die Versionsnummer ist, z. 56 für MySQL5.6 und 55 für MySQL5.5 usw. Sie können auch Ihren eigenen Windows-Dienstnamen angeben, um eine Verbindung herzustellen.Für Mysql lautet die Verbindungszeichenfolge für den jdbc-Treiber com.mysql.jdbc.Driver . Verwenden Sie den folgenden Code, um eine Verbindung herzustellen: -
class DBConnection {
private static Connection con = null;
private static String USERNAME = "your_mysql_username";
private static String PASSWORD = "your_mysql_password";
private static String DRIVER = "com.mysql.jdbc.Driver";
private static String URL = "jdbc:mysql://localhost:3306/database_name";
public static Connection getDatabaseConnection(){
Class.forName(DRIVER);
return con = DriverManager.getConnection(URL,USERNAME,PASSWORD);
}
}
Da die Antwort bereits beantwortet zu sein scheint, gibt es nicht viel hinzuzufügen, aber ich möchte den vorhandenen Antworten eine Sache hinzufügen ... Dies war der Weg, die Klasse für JDBC-Treiber für mysql zu laden
com.mysql.jdbc.Driver
Dies ist jedoch jetzt veraltet. Die neue Fahrerklasse ist jetzt
com.mysql.cj.jdbc.Driver
Der Fahrer wird auch automatisch über SPI registriert, und das manuelle Laden der Fahrerklasse ist im Allgemeinen nicht erforderlich.
Connection conn = null;
//default -root
String userName = "mysqlusername";
String password = "yourpassword";
String url = "jdbc:mysql://hostname/databasename";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, userName, password);
conn.close();
Update für mySQL 8 String jdbcUrl = "jdbc: mysql: // localhost: 3306/youdatabase? useSSL = false & serverTimezone = UTC";
In meinem Fall ->
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mini", "/*USERNAME*/", "/*PASSWORD*/);
protokoll // [Hosts] [/ Datenbank] [? Eigenschaften]
Wenn Sie keine Eigenschaften haben, ignorieren Sie sie
jdbc: mysql: //127.0.0.1: 3306/test
jdbc: mysql ist das Protokoll 127.0.0.1: ist der Host und 3306 ist die Portnummer .__
String url = "jdbc:mysql://localhost:3306/dbname";
String user = "user";
String pass = "pass";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, user, pass);
3306
ist der Standardport für mysql.
Wenn Sie Java 7 verwenden, müssen Sie nicht einmal die Anweisung Class.forName("com.mysql.jdbc.Driver").newInstance ();
hinzufügen. Die automatische Ressourcenverwaltung (ARM) wird in JDBC 4.1 hinzugefügt, die standardmäßig in Java 7 enthalten ist.
Das allgemeine Format für eine JDBC-URL zum Herstellen einer Verbindung zu einem MySQL-Server lautet wie folgt, wobei Elemente in eckigen Klammern ([]) optional sind:
jdbc:mysql://[Host1][:port1][,[Host2][:port2]]...[/[database]] »
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]