JDBCを使用してMySQLからJAVAにFK関係を実装しようとしています。オブジェクトのリストがGaraz
あり、それぞれに(車) オブジェクトGaraz
のリストがあります。Auto
私は非常に複雑なデータを持っています。
私のMySQl DBは大丈夫です。私は次のようにしようとしています:
public static ArrayList <Garaz> selectRecords() throws SQLException {
Connection dbConnection = null;
Statement statement = null;
String selectTableSQL = "SELECT Garaz.G_ID, Garaz.Nazwa, Garaz.Adres, Garaz.LiczbaMiejsc, Garaz.LiczbaPoziomow, " +
"Garaz.Czynny, Auta.A_Id, Auta.Model, Auta.Kolor, Auta.IloscDrzwi, Auta.Rejestracja\n" +
"FROM Garaz\n" +
"LEFT JOIN Auta\n" +
"ON Garaz.G_Id=Auta.G_Id\n" +
"ORDER BY Garaz.G_Id; ";
// ArrayList lista = new ArrayList <Garaz>();
try {
dbConnection = getDBConnection();
statement = dbConnection.createStatement();
System.out.println(selectTableSQL);
// execute select SQL stetement
ResultSet rs = statement.executeQuery(selectTableSQL);
while (rs.next()) {
int g_id = rs.getInt("G_ID");
String nazwa = rs.getString("NAZWA");
String adres = rs.getString("ADRES");
int lmiejsc = rs.getInt("LICZBAMIEJSC");
int lpoz = rs.getInt("LICZBAPOZIOMOW");
boolean czynny = rs.getBoolean("CZYNNY");
ArrayList lista2 = new ArrayList <Auto>();
int a_id = rs.getInt("A_Id");
String model = rs.getString("Model");
String kolor = rs.getString("Kolor");
int ildrzwi = rs.getInt("IloscDrzwi");
String rejestracja = rs.getString("Rejestracja");
Auto d = new Auto(a_id, model, kolor, ildrzwi, rejestracja);
if (a_id !=0){
lista2.add(d);
}
Garaz f = new Garaz(g_id, nazwa, lista2, adres, lmiejsc, lpoz, czynny);
lista.add(f);
//System.out.println("nazwa : " + nazwa);
//System.out.println("adres : " + adres);
// return lista;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
if (statement != null) {
statement.close();
}
if (dbConnection != null) {
dbConnection.close();
}
}
return lista;
}
次のように読み取る方法がわかりませんResultSet rs
:ArrayList Garaz
オブジェクト ( Garaz
) を含み、各Garaz
オブジェクトに が含まれますArrayList Auto
。rs
そのため、 ( )からデータを読み取って 2 つのリスト (1 つは別のリストの一部) を作成することに大きな問題がありますResultSet
。私はDBテーブルからすべてを持っていますGaraz
がAuto
、関係は混在しています。同様Garaz1
にランダムAuto
(車) が含まれます。
Auto
2 つのリスト (1 つは別のリストの一部) をGaraz
作成して、関係を維持するにはどうすればよいG_ID
ですか?