如何创建一个表来加载来自不同服务器的多个数据库中的组合数据?

时间:2019-05-11 14:49:21

标签: java mysql database server connection

当我使用Netbeans探索Java时,我遇到了一些困难。当在table中选择object时,我试图使combobox从不同服务器的多个数据库中加载所有数据。

有三(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;
  }
}

我希望我编写的代码不会太长,并且可以为您的帮助而理解。谢谢。

0 个答案:

没有答案