建立一个数据库,并建立一个名为 book 的表,表中包含图书名、作者、出版社和图书单价4个字段,输入一些书目信息。请从表中查找单价小于25元的书目,并将这些书目显示出来。用 JDBC 方法编写程序完成上述功能
时间: 2024-04-05 22:29:27 浏览: 39
好的,以下是参考代码:
```java
import java.sql.*;
public class BookSearchDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";
String username = "root";
String password = "123456";
String sql = "SELECT * FROM book WHERE price < 25";
try (Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
while (rs.next()) {
String name = rs.getString("name");
String author = rs.getString("author");
String publisher = rs.getString("publisher");
double price = rs.getDouble("price");
System.out.printf("%s\t%s\t%s\t%.2f\n", name, author, publisher, price);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
首先,我们需要连接到 MySQL 数据库,这里我们使用 `DriverManager` 类来获取连接。接着,我们创建一个 `Statement` 对象,并执行 SQL 查询语句,将结果存储在一个 `ResultSet` 对象中。最后,我们遍历 `ResultSet` 对象中的每一行记录,获取每个字段的值,并将其打印到控制台上。
需要注意的是,在 try-with-resources 语句中创建的连接、语句和结果集会在代码块结束时自动关闭,无需手动调用 `close()` 方法。这是一种更加简洁且安全的方式来处理 JDBC 对象。另外,为了防止时区不一致的问题,我们在连接字符串中添加了 `serverTimezone=UTC` 参数。
阅读全文