/ / vyberte jednu databázu zo zoznamu - java, jdbc

vyberte jednu databázu zo zoznamu - java, jdbc

Vyrábam program na ukladanie údajov do databázy. Vytvoril som kód na získanie spojenia, prečítanie všetkých dostupných databáz, ale teraz by som chcel mať možnosť vybrať jednu z dostupných databáz. Môže mi niekto pomôcť, ako na to? Dole dole je spojenie so základňou a zoznam dostupných databáz.

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);
}

Ako musím pokračovať? Chcem pokračovať v odpočinkovom programe s vybranou databázou. Čo musím napísať, zatiaľ čo (theDatabase) ???

odpovede:

3 pre odpoveď č. 1

vytvoriť viac objektov pripojenia každý z nich pre každú databázu, ako je

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

alebo

 Connection con = null;

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

Potom použite

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

1 pre odpoveď č. 2

môžete predponu tabuľky-názov pred názov-databázy. Napríklad, ak je názov databázy DB1 a názov tabuľky je TB1, potom by mohol byť váš dotaz

vyberte * z DB1.TB1


1 pre odpoveď č. 3

Pripojte sa k vybranej databáze.

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

// Do your code here

0 pre odpoveď č. 4

Ak chcete vybrať svoju databázu, pridajte sem názov Dababasename:

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