Я пытаюсь научиться сохранять и загружать данные в / из баз данных и столкнулся с проблемой.На данный момент у меня есть класс с именем Component
, который имеет следующее:
public class Componente {
private int code;
private String description;
private double price;
private int quantity;
private List<Componente> previous;
private List<Componente> incompatible;
У меня также есть класс с именем Storage
, который имеет следующее:
public class Storage {
private List<Component> stock;
Естьдругие классы, где я смог создать методы сохранения и загрузки, потому что у них были только простые переменные, такие как String или Integers, но для них я полностью потерян, потому что не только есть списки, которые нужно сохранить / вернуть, но также и рекурсивные списки.То, что я пока имею для Компонентов:
public void save(Component c)throws SQLException{
Connection con = null;
con = Connect.connect();
PreparedStatement st = con.prepareStatement("INSERT INTO component
VALUES(?,?,?,?,?,?)");
st.setInt(1, c.getCode());
st.setString(2, c.getDescription());
st.setDouble(2, c.getPrice());
st.setInt(2, c.getQuantity());
//Missing the last 2 variables
st.executeUpdate();
con.close();
}
public Component load(Object key) throws SQLException {
Component c = null;
Connection con = Connect.connect();
PreparedStatement ps = con.prepareStatement("select * from component
where code = ?");
ps.setInt(1, code);
ResultSet rs = ps.executeQuery();
if(rs.next()){
c = new
Component(rs.getInt("code"),rs.getString("description"),
rs.getDouble("price"),rs.getInt("quantity"));
}
con.close();
return c;
}
Есть исключения, которые нужно обработать, но в этой части я думаю, что я хорош.Также, если я смогу сделать это для Компонентов, я, вероятно, смогу настроить его и для Хранилища, так что сейчас я думаю, что этот вопрос уже достаточно велик.