为了账号安全,请及时绑定邮箱和手机立即绑定

如何用jdbc实现一对多

如何用jdbc实现一对多

慕标琳琳 2023-03-17 14:04:22
我正在尝试编写一个程序来管理一些客户。每个客户都有预订,每个预订都有项目。我知道我有一对多的关系,但我不知道该怎么做。我没有使用 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 和其他东西,是否可以做到这一点?我只想知道如何设计我的程序。
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

是的,您可以使用 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 返回它。网上有很多这样的例子,如果您还有其他问题,请随时提问。


查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号