java编写一个程序,可以完成操作数据库的表 要求:1 在数据库中创建一个图书表,包含以下字段(id,书名,价格,出版社,作者) 2 根据条件查询图书记录,并显示 3 可以新增一条记录 4 可以根据id修改一条记录 5 可以根据id删除一条记录
时间: 2024-02-14 10:05:56 浏览: 70
好的,以下是一个Java程序,实现了对数据库中图书表的增删改查操作,使用了JDBC连接数据库:
```java
import java.sql.*;
public class BookDatabase {
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/books";
private static final String DATABASE_USER = "root";
private static final String DATABASE_PASSWORD = "password";
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
//连接数据库
connection = DriverManager.getConnection(DATABASE_URL, DATABASE_USER, DATABASE_PASSWORD);
statement = connection.createStatement();
//创建图书表
String createTableSQL = "CREATE TABLE IF NOT EXISTS book (id INT NOT NULL AUTO_INCREMENT, title VARCHAR(255), price DECIMAL(10,2), publisher VARCHAR(255), author VARCHAR(255), PRIMARY KEY (id))";
statement.executeUpdate(createTableSQL);
//新增一条记录
String insertSQL = "INSERT INTO book (title, price, publisher, author) VALUES ('Java编程思想', 79.99, '机械工业出版社', 'Bruce Eckel')";
statement.executeUpdate(insertSQL);
//根据条件查询图书记录
String selectSQL = "SELECT * FROM book WHERE publisher='机械工业出版社' AND price<100";
resultSet = statement.executeQuery(selectSQL);
while (resultSet.next()) {
int id = resultSet.getInt("id");
String title = resultSet.getString("title");
double price = resultSet.getDouble("price");
String publisher = resultSet.getString("publisher");
String author = resultSet.getString("author");
System.out.println(id + "\t" + title + "\t" + price + "\t" + publisher + "\t" + author);
}
//根据id修改一条记录
String updateSQL = "UPDATE book SET price=89.99 WHERE id=1";
statement.executeUpdate(updateSQL);
//根据id删除一条记录
String deleteSQL = "DELETE FROM book WHERE id=1";
statement.executeUpdate(deleteSQL);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
这个程序中,我们首先通过`DriverManager.getConnection`方法连接到本地的MySQL数据库,然后使用`Statement`对象执行各种SQL语句,包括创建表、插入数据、查询数据、修改数据和删除数据。需要注意的是,在执行完SQL语句后,我们需要关闭`ResultSet`、`Statement`和`Connection`对象,以释放资源。
阅读全文