如何使用 jdbc 实现一对多

How to implement one to many with jdbc

我正在尝试编写一个程序来管理一些客户端。每个客户都有预订,每个预订都有 items.I 知道我有一对多关系,但我不知道该怎么做。

我没有使用 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 class,您可以在其中将数据库查询与代码分离。它是这样的:

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,从 DAO 创建一个新的 Item 和 return。网上有很多这样的例子,如果还有什么问题,欢迎追问。