/ / wähle eine Datenbank aus einer Liste - java, jdbc

Wählen Sie eine Datenbank aus einer Liste aus - java, jdbc

Ich mache ein Programm, um Daten in einer Datenbank zu speichern. Ich habe den Code erstellt, um eine Verbindung herzustellen, um alle verfügbaren Datenbanken zu lesen, aber jetzt möchte ich eine bestimmte aus den verfügbaren Datenbanken auswählen können. Könnte mir jemand helfen wie? Der folgende Punkt ist die Verbindung mit der Basis und der Liste der verfügbaren Datenbanken.

public static void main (String[] args) throws Exception {
try {
System.out.println("get the connection");
}
catch( Exception e )
{
System.out.println( "SQLException: " + e.getMessage() );
}

Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");
DatabaseMetaData meta = (DatabaseMetaData) con.getMetaData();
ResultSet res = meta.getCatalogs();
System.out.println("List of the databases: ");
while (res.next()){
System.out.println (" " +res.getString(1));
}
{
Scanner keyboard = new Scanner ( System.in);
System.out.println("Choose a database");
String theDatabase = keyboard.toString();
while (theDatabase )
{
System.out.println("Enter an existing database");
theDatabase = keyboard.toString();
}
System.out.println("You choose "+theDatabase);
}

Wie muss ich weitermachen? Ich möchte das Restprogramm mit der ausgewählten Datenbank fortsetzen. Was muss ich schreiben (theDatabase) ???

Antworten:

3 für die Antwort № 1

Erstellen Sie mehrere Verbindungsobjekte für jede Datenbank wie

Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");

Connection con1 = Create connection using oracle


if(theDatabase.equals("mysql"))
//use con
else
//use con2

oder

 Connection con = null;

if(theDatabase.equals("mysql"))
con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");
else
con = (Connection) DriverManager.getConnection(oracle);

Dann benutze

Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");

1 für die Antwort № 2

Sie können dem Tabellennamen den Datenbanknamen voranstellen. Wenn der Datenbankname beispielsweise DB1 und der Tabellenname TB1 ist, könnte Ihre Abfrage lauten

Wählen Sie * aus DB1.TB1 aus


1 für die Antwort № 3

Stellen Sie eine Verbindung zu der ausgewählten Datenbank her.

Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");

// Do your code here

0 für die Antwort № 4

Um Ihre Datenbank auszuwählen, fügen Sie Ihren Dababasename hier ein:

Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/DatabaseName", "root", "root");