gpt4 book ai didi

java - 如何用jdbc实现一对多

转载 作者:行者123 更新时间:2023-12-02 09:42:14 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来管理一些客户端。每个客户都有预订,每个预订都有项目。我知道我有一对多的关系,但我不知道如何做到这一点。

我没有使用 Spring,只使用 JDBC。

没有数据库,我就这样做了:

public class Client {

private String _fullName;
private String _address;
private String _email;
private String _phoneNumber;
private List<Reservation> _reservations;
}

public class Reservation {

private List<Item> _items;
private int _totalSum;
private boolean _toDeliver;
private String _date;
}
public class Item {

//primary key.
private int _id;
private int _price;
private String _name;

}

我必须声明这些列表吗?没有 Spring、Hibernate 和其他东西是否可以做到这一点?我只是想知道如何设计我的程序。

最佳答案

是的,您只需使用 JDBC 数据库驱动程序即可完成所有操作。

您要做的第一件事是设计数据库,即表和约束等。

然后返回 Java 并使用 JDBC 查询数据库。

常见的方法是创建 DAO 类,您可以在其中将数据库查询与代码分离。事情是这样的:

public String getUserName(String userId) throws SQLException {
String sql = "SELECT name FROM user WHERE user_id = ?";

try (Connection connection = getConnection();
PreparedStatement stmt = connection.prepareStatement(sql)) {

stmt.setString(1, userId);

try (ResultSet rs = stmt.executeQuery()) {
String name = rs.getString("name");
return name;
}
}
}

这只是一个简单的例子,这里没有错误处理,也没有处理空查询结果,网上有更好的例子来说明如何制作 DAO 和创建连接。根据您运行此代码的位置,您可能更喜欢使用连接池来提高效率(另一件事需要阅读更多内容)。

在您的用例中,您可以让 DAO 获取数据来制作您的 Item、创建一个新的 Item 并从 DAO 返回它。网上有很多这方面的例子,如果您还有其他问题,请随时询问。

关于java - 如何用jdbc实现一对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56974156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com