В данный момент у меня возникли некоторые трудности, когда я изучаю 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;
}
}
Я надеюсь, что код, который я написал, не слишком длинный и может быть понят для вашей помощи.Спасибо.