public static void add() { con = GetDBConnection.connectDB(DBName, userName, password); }利用Java和这个框架写一个增加图书
时间: 2024-03-23 21:38:31 浏览: 165
假设你已经有一个 Book 类,包含属性如下:
```
public class Book {
private int id;
private String title;
private String author;
private String publisher;
private int year;
private double price;
// getters and setters
}
```
那么你可以按照如下的步骤来写一个增加图书的函数:
1. 在数据库中创建一个表,用于存储图书信息。假设表名为 `books`,包含如下字段:
```
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
author varchar(255) NOT NULL,
publisher varchar(255) NOT NULL,
year int(4) NOT NULL,
price double NOT NULL,
PRIMARY KEY (id)
```
2. 在 GetDBConnection 类中编写一个静态方法来获取数据库连接,例如:
```
public static Connection connectDB(String dbName, String userName, String password) throws SQLException {
String url = "jdbc:mysql://localhost/" + dbName;
Connection con = DriverManager.getConnection(url, userName, password);
return con;
}
```
3. 编写一个静态方法来添加图书信息,例如:
```
public static void addBook(Book book) throws SQLException {
con = GetDBConnection.connectDB(DBName, userName, password);
String sql = "INSERT INTO books (title, author, publisher, year, price) VALUES (?, ?, ?, ?, ?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, book.getTitle());
ps.setString(2, book.getAuthor());
ps.setString(3, book.getPublisher());
ps.setInt(4, book.getYear());
ps.setDouble(5, book.getPrice());
ps.executeUpdate();
ps.close();
con.close();
}
```
在这个方法中,我们首先获取数据库连接,然后使用 PrepareStatement 对象来执行 SQL 语句。我们将 Book 对象的属性作为参数设置到 PreparedStatement 对象中,然后执行 `executeUpdate()` 方法来执行 SQL 语句,将图书信息添加到数据库中。最后,记得关闭 PrepareStatement 和 Connection 对象。
4. 在主程序中调用 addBook() 方法,例如:
```
public static void main(String[] args) {
Book book = new Book();
book.setTitle("Java Programming");
book.setAuthor("John Smith");
book.setPublisher("Wiley");
book.setYear(2021);
book.setPrice(59.99);
try {
GetDBConnection.addBook(book);
System.out.println("Book added successfully!");
} catch (SQLException e) {
e.printStackTrace();
}
}
```
这段代码创建一个 Book 对象,设置属性,然后调用 addBook() 方法将图书信息添加到数据库中。如果添加成功,程序会输出 "Book added successfully!"。如果添加失败,程序会打印出 SQLException 的堆栈信息。
阅读全文