首页 > 解决方案 > 我如何为我的更新编写 DAO 层\获取所有实体

问题描述

伙计们,我在编写自己的第一个网络应用程序的过程中陷入了困境。我对 DAO 层有几个问题。看看我的第一个实体:

public class Fabric {

    private Integer id;
    private String name;
    private String country;
}          

有 Object,其中“id”属性是另一个实体的外键:

public class Guitar {

    private Integer id;
    private Fabric fabric;
    private String name;
    private Short strings;
    private Color color;
    private Integer count;
}       

因此,当我尝试为“吉他”实体编写 DAO 层时,如下所示:

        Guitar guitar = null;
        try (Connection connection = ConnectionManager.getConnection();
             PreparedStatement preparedStatement = connection.prepareStatement(GET_BY_ID)) {
            preparedStatement.setInt(1, id);

            ResultSet resultSet = preparedStatement.executeQuery();
            if (resultSet.next()) {
                guitar = Guitar.builder()
                        .id(resultSet.getInt(id))
                        ***.fabric()*** <---- idk how to get fabric id
                        .name(resultSet.getString("name"))
                        .strings(resultSet.getShort("strings"))
                        .color(???some jave code???) <--- this is ENUM :(
                        .count(resultSet.getInt("count"))
                        .build();
            }
        } catch (SQLException e) {
            throw new DaoException(e);
        }
        return Optional.ofNullable(guitar);
    } ``

SQL request: ```private static final String GET_BY_ID = "SELECT id, fabric_id, name, strings, color, count FROM shop_storage.guitar WHERE count NOTNULL";

ps也知道如何在这个对象中获取枚举:(如果可以帮助我-我会很感激。祝大家玩得开心:)

标签: javaservletsdao

解决方案


推荐阅读