我想用JAVA语言实现作者查询图书功能
时间: 2023-07-20 21:11:59 浏览: 86
好的,您可以使用以下的 Java 代码实现根据作者查询图书的功能:
```java
import java.sql.*;
public class BookQueryByAuthor {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 加载 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/books", "root", "password");
// 创建 PreparedStatement 对象
pstmt = conn.prepareStatement("SELECT book_id, book_name, author FROM book WHERE author = ?");
// 设置参数
pstmt.setString(1, "张三");
// 执行 SQL 查询语句
rs = pstmt.executeQuery();
// 输出查询结果
while (rs.next()) {
int bookId = rs.getInt("book_id");
String bookName = rs.getString("book_name");
String author = rs.getString("author");
System.out.println("编号:" + bookId + ",书名:" + bookName + ",作者:" + author);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
在上面的代码中,我们使用了 JDBC 连接 MySQL 数据库,并且使用 PreparedStatement 对象执行了一条带参数的 SQL 查询语句,查询指定作者的图书信息,并将查询结果输出到控制台上。需要注意的是,您需要将代码中的数据库连接 URL、用户名和密码修改为您自己的数据库连接信息,以及将 `setString(1, "张三")` 中的作者名修改为您想要查询的作者名。
阅读全文