筛选数据
CityBook Libraries 希望让用户按出版年份搜索可借图书。用户会输入一个年份,系统应返回在该年份及之后出版、且当前可借的所有图书。
您将使用带有预处理语句的安全实现方式。HikariSetup 类已为您配置好。
本练习是课程的一部分
在 Java 中查询 PostgreSQL 数据库
练习说明
- 编写
WHERE子句,按出版年份大于等于占位符来查询图书。 - 基于
status进行过滤,只允许'available'的图书。 - 为预处理语句设置出版年份参数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
public class Main {
public static void main(String[] args) throws SQLException {
HikariDataSource ds = HikariSetup.createDataSource();
// Complete the query to filter the data based on the requirements.
String query = "SELECT * FROM books ____ publication_year >= ____ AND status = '____'";
try (Connection conn = ds.getConnection();
PreparedStatement pstmt = conn.prepareStatement(query)) {
// Set the publication year parameter
____.____(1, 2000);
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
System.out.printf("ID: %d, Title: %s (%d)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
}
}
}
}
}