如何使用jdbc

时间:2019-07-10 15:36:08

标签: java jdbc dao

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

我不使用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 个答案:

答案 0 :(得分:1)

是的,您只需使用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返回。在线上有很多示例,如果您还有其他问题,请随时提出。