Как создать таблицу, которая загружает объединенные данные из нескольких баз данных с разных серверов? - PullRequest
0 голосов
/ 11 мая 2019

В данный момент у меня возникли некоторые трудности, когда я изучаю Java с помощью Netbeans.Я пытаюсь заставить table загружать все данные из нескольких баз данных с разных серверов, когда в combobox выбран object.

Существует три (3) сервера с одной базой данных каждый, и каждая база данных имеет одну таблицу, и эти таблицы имеют одинаковые столбцы.Я могу подключиться к каждой базе данных в отдельности и загрузить их таблицы.Однако я понятия не имею, как объединить их данные.

Этот код, которым я поделюсь, на самом деле не работает, но я хотел бы дать вам представление о моем текущем статусе по этому вопросу.Если есть какие-либо исправления или если вам нужно больше деталей, пожалуйста, дайте мне знать.Я также хотел бы заранее извиниться, если структура моего кодирования грязная.

    private void combobox_branchItemStateChanged(java.awt.event.ItemEvent evt) 
  {                                                 

    Object branch = combobox_branch.getSelectedItem();

    try
    {
        // All is selected
        if("All".equals(branch))
        {
            Connection cn = db.itemconnector.getConnection();
            Connection cn1 = db.itemconnector.getConnection1();
            Connection cn2 = db.itemconnector.getConnection2();
            PreparedStatement ps = cn.prepareStatement("Select * from items");   //I am lost at this point     
            ResultSet rs = ps.executeQuery();
            DefaultTableModel tm = (DefaultTableModel)itemTable.getModel();
            tm.setRowCount(0);

         while(rs.next())
            {
            Object o[] = {rs.getInt("id"), rs.getString("location"), rs.getString("product_name"),rs.getString("product_category"),rs.getString("product_description"),rs.getInt("product_stock"), rs.getFloat("product_price"), rs.getString("product_status")};
            tm.addRow(o);
            }

         }
     }

    catch (Exception e)
            {
                JOptionPane.showMessageDialog(null, e, "Connection Error", JOptionPane.ERROR_MESSAGE);
            }


  }

У меня есть класс в другом пакете, который подключается к базам данных серверов

   package db;

   import java.sql.*;

   public class itemconnector {

/**
 *
 * @return
 * @throws Exception
 */
public static Connection getConnection() throws Exception
{
    Class.forName("com.mysql.jdbc.Driver");
    Connection cn = (Connection)
            DriverManager.getConnection("jdbc:mysql://192.168.1.50:3306/sales","root","");

    return cn;
}

public static Connection getConnection1() throws Exception
{
    Class.forName("com.mysql.jdbc.Driver");
    Connection cn = (Connection)
            DriverManager.getConnection("jdbc:mysql://192.168.1.51:3306/sales1","root","");

    return cn;
}

public static Connection getConnection2() throws Exception
  {
    Class.forName("com.mysql.jdbc.Driver");
    Connection cn = (Connection)
            DriverManager.getConnection("jdbc:mysql://192.168.1.52:3306/sales2","root","");

    return cn;
  }
}

Я надеюсь, что код, который я написал, не слишком длинный и может быть понят для вашей помощи.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...