Gömülü H2 veritabanımla etkileşimde bulunmak için basit bir jdbc programı yazmaya çalışıyorum. BuradaJBDC: Bir sorgudan sonra bir nesne listesi almak
"SELECT * FROM MILESTONE WHERE NAME=TEST"
sorun birçok nesneleri aynı ada sahip olmasıdır (sadece kimlik tektir): Ben yapmaya çalışacağım sorgu şudur. Ve veritabanımın aynı adı taşıyan tüm nesnelerini nasıl alabileceğimi bilmiyorum. Şimdiye kadar bu programı yazmak: Bu kod yalnızca (ilk kimlikle) bir öğeyi döndürür ve aynı ada sahip benim veritabanındaki diğer nesneleri göz ardı olduğunu
public Milestone findByName(String name) throws ClassNotFoundException, SQLException {
Milestone milestone = new Milestone();
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/dao_db", "sa", "");
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM MILESTONE WHERE NAME=?");
preparedStatement.setString(1, name);
System.out.println("Milestone selected with name = "+ name);
ResultSet resultSet = preparedStatement.executeQuery();
if(resultSet.next())
{
milestone.setId(resultSet.getString("id"));
milestone.setName(name);
milestone.setDescription(resultSet.getString("description"));
}
connection.close();
return milestone;
}
sorundur.
Bu sorunla uğraşmak için lütfen bana yardımcı olabilir misiniz? Java'daki liste kavramlarına aşina değilim. Teşekkür
Peki, temelde sadece sonuç kümesinde döngü gerekir ('iken (resultSet.next()') ve içine veri depolamak bir ' 'Döngü içinde [JDBC öğreticisi] (https://docs.oracle.com/javase/tutorial/jdbc/basics/retrieving.html) size bu bilgiyi verir (ve daha fazlası) –