【发布时间】:2021-11-04 13:42:52
【问题描述】:
我有两种方法可以从数据库中获取数据。它们仅在请求和返回类型上有所不同。是否有可能以某种方式将它们组合起来以使代码不会重复?
public ObservableList<Car> getAllCars() {
ObservableList<Car> list = FXCollections.observableArrayList();
Connection connection = MyConnection.connection;
String query = "SELECT * FROM cars";
try {
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(query);
while (rs.next()) {
Car car = new Car(rs.getInt("ID"), rs.getInt("STYLE_ID"),
rs.getString("MAKE"), rs.getString("MODEL"),
rs.getInt("YEAR"), rs.getInt("PRICE"));
list.add(car);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return list;
}
public ObservableList<Style> getAllStyles() {
ObservableList<Style> list = FXCollections.observableArrayList();
Connection connection = MyConnection.connection;
String query = "SELECT * FROM styles";
try {
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(query);
while (rs.next()) {
Style style = new Style(rs.getInt("ID"), rs.getString("NAME"));
list.add(style);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return list;
}
【问题讨论】: