java - 从列表中选择一个数据库

标签 java jdbc

我正在制作一个程序来将数据存储在数据库中。我已经创建了代码来获得连接,读取所有可用的数据库,但现在我希望能够从可用的数据库中选择一个特定的。谁能帮我怎么做? 下面的节点是与基地的连接和可用数据库的列表。

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/

相关文章:

java - 如何为 java 扫描器使用多个分隔符

java - 如何通过按下软键在软键盘中打开上下文菜单?

java - 计算负数减去另一个数字时出现问题

mysql - 主查询的值由子查询使用

java - 列中三行不必要的行

java - Diffie-Hellman 在 BouncyCaSTLe 中设置生成器参数

java - 使用固定小数位数的工程符号格式 double

java - 查询与更新

java - 无法在 Mac 上加载 MySQL JDBC 连接

java - 如何将 Java DB(名为 Derby)与 hibernate 一起使用?