我正在制作一个程序来将数据存储在数据库中。我已经创建了代码来获得连接,读取所有可用的数据库,但现在我希望能够从可用的数据库中选择一个特定的。谁能帮我怎么做? 下面的节点是与基地的连接和可用数据库的列表。
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);
}
我该如何继续??我想用选定的数据库继续其余程序。 我必须在 while(theDatabase) 中写什么???
最佳答案
为每个数据库创建多个连接对象,例如
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
或
Connection con = null;
if(theDatabase.equals("mysql"))
con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/", "root", "root");
else
con = (Connection) DriverManager.getConnection(oracle);
然后使用
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+theDatabase, "root", "root");
关于java - 从列表中选择一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16233511/