java 创建一个名为Books的数据库,并在其中建立一个名为book_message的表,字段包括书名、作者、出版社、出版时间和价格。编写一个应用程序,用预处理方式在该数据库中实现增加、删除和修改数据以及查询的基本功能
时间: 2024-03-12 19:44:07 浏览: 86
好的,以下是在 Java 中使用 JDBC API 创建名为 `Books` 的数据库,并在其中建立一个名为 `book_message` 的表,实现增加、删除和修改数据以及查询的基本功能的示例代码:
```java
import java.sql.*;
public class BooksDatabase {
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost/Books";
private static final String USER = "username";
private static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName(JDBC_DRIVER);
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("创建表...");
stmt = conn.createStatement();
String sql = "CREATE TABLE book_message " +
"(id INTEGER not NULL AUTO_INCREMENT, " +
" book_name VARCHAR(255), " +
" author VARCHAR(255), " +
" publisher VARCHAR(255), " +
" publish_date DATE, " +
" price FLOAT, " +
" PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
System.out.println("插入数据...");
sql = "INSERT INTO book_message (book_name, author, publisher, publish_date, price) " +
"VALUES ('Java编程思想', 'Bruce Eckel', '机械工业出版社', '2017-05-01', 99.0)";
stmt.executeUpdate(sql);
System.out.println("查询数据...");
sql = "SELECT id, book_name, author, publisher, publish_date, price FROM book_message";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String bookName = rs.getString("book_name");
String author = rs.getString("author");
String publisher = rs.getString("publisher");
Date publishDate = rs.getDate("publish_date");
float price = rs.getFloat("price");
System.out.println("ID: " + id + ", 书名: " + bookName + ", 作者: " + author +
", 出版社: " + publisher + ", 出版时间: " + publishDate + ", 价格: " + price);
}
System.out.println("更新数据...");
sql = "UPDATE book_message SET price=89.0 WHERE book_name='Java编程思想'";
stmt.executeUpdate(sql);
System.out.println("删除数据...");
sql = "DELETE FROM book_message WHERE book_name='Java编程思想'";
stmt.executeUpdate(sql);
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}
```
该示例代码中使用了 MySQL 数据库,因此需要先安装 MySQL 数据库,并创建一个名为 `Books` 的数据库。在代码中,`JDBC_DRIVER`、`DB_URL`、`USER` 和 `PASS` 分别表示 JDBC 驱动程序、数据库 URL、用户名和密码,需要根据实际情况进行修改。
在 `main` 方法中,首先加载 JDBC 驱动程序,然后使用 `DriverManager.getConnection` 方法连接到数据库。接着使用 `Statement.executeUpdate` 方法创建名为 `book_message` 的表,并使用 `Statement.executeUpdate` 方法插入一条数据。然后使用 `Statement.executeQuery` 方法查询所有数据,并使用 `ResultSet` 对象遍历查询结果。接着使用 `Statement.executeUpdate` 方法更新和删除数据。最后使用 `ResultSet.close`、`Statement.close` 和 `Connection.close` 方法关闭相关资源。
请注意,上述示例代码仅供参考,实际应用中需要根据具体需求进行修改。
阅读全文