2010-12-14 4 views
3

Ich installierte MySql auf meiner eigenen Maschine. Ich habe Datenbank erstellt, Tabelle erstellt, ... mit MySql CommandLine Client. Wenn an einem Projekt in der Schule arbeiten, verbunden ich Datenbank der Schule mit dieser Syntax:Wie stelle ich mit JDBC eine Verbindung zum lokalen Host her?

public static Statement connect() { 
    try { 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    conn = DriverManager.getConnection("1", "2", "3"); 
    stmt = conn.createStatement(); 
    } 
    catch(Exception e) { 
    System.out.println("Connection Error: " + e); 
    } 
    return stmt; 
} 

In meinem lokalen Rechner, muß ich die Benutzername nicht geben, alles habe ich nur mit meinem Passwort anmelden als root-Benutzer:

Enter password: **** 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1 
Server version: 5.1.53-community MySQL Community Server (GPL) 

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 
This software comes with ABSOLUTELY NO WARRANTY. This is free software, 
and you are welcome to modify and redistribute it under the GPL v2 license 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> use chandb; 
Database changed 
mysql> show tables; 
+------------------+ 
| Tables_in_chandb | 
+------------------+ 
| another   | 
| cars    | 
| employees  | 
+------------------+ 
3 rows in set (0.03 sec) 

mysql> select * from Another; 
+----+-----------+----------+ 
| Id | GoldValue | Model | 
+----+-----------+----------+ 
| 0 |  100 | Civic DX | 
+----+-----------+----------+ 
1 row in set (0.00 sec) 

mysql> 

Ich möchte gerne wissen, wie kann ich eine Verbindung zu meiner lokalen Maschine Datenbank herstellen? was soll ich als Parameter innerhalb Methode .getConnection setzen

conn = DriverManager.getConnection( 
    "1", // ? 
    "2", // ? 
    "3" ); // ? 

Mit freundlichen Grüßen,
Chan

+3

Geck nicht tun können, entfernen Sie so schnell wie möglich, dass Benutzername und Passwort aus dem Code-Schnipsel,! Entfernen Sie auch den Hostnamen, während Sie gerade dabei sind. Außerdem müssen Sie das Snippet nicht mit dem vertippten 'show tables'-Bit durcheinander bringen. – Todd

+0

Vielen Dank, dass Sie an Sicherheitsprobleme erinnert haben. Editiert. – Chan

Antwort

6

Einfache Verbindung:

import java.sql.Connection; 
import java.sql.DriverManager; 

public class Main { 
    public static void main(String[] argv) throws Exception { 
    String driverName = "org.gjt.mm.mysql.Driver"; 
    Class.forName(driverName); 

    String serverName = "localhost"; 
    String mydatabase = "mydatabase"; 
    String url = "jdbc:mysql://" + serverName + "/" + mydatabase; 

    String username = "username"; 
    String password = "password"; 
    Connection connection = DriverManager.getConnection(url, username, password); 
    } 
} 
+0

Danke Mohamed, aber es hat nicht funktioniert. Ich habe eine Ausnahme in main geworfen. Ausnahme im Thread "main" java.sql.SQLException: keine passenden Treiber für Jdbc gefunden: mysql: // localhost/chandb \t bei java.sql.DriverManager.getConnection (Unknown Source) \t bei java.sql.DriverManager.getConnection (Unbekannte Quelle) \t bei Program.main (Program.java:15) – Chan

+0

Ich habe es funktioniert;) Danke;) – Chan

+0

Es gibt Leerzeichen in der URL, die es ungültig macht. Entfernen Sie es. – BalusC

2

Es sieht aus wie Sie Ihren Benutzernamen und Passwort links in die von Ihnen gepostete Quelle.

Ich sehe nicht, warum Sie gerade

DriverManager.getConnection("jdbc:mysql://localhost/chandb", "user, "pass"); 
Verwandte Themen