生成一段java代码,要求实现用gui能链接mysql的借书还书功能
时间: 2024-02-06 13:12:39 浏览: 76
好的,以下是一个简单的Java代码示例,可以实现使用GUI连接MySQL数据库并实现借书还书功能。需要注意的是,这只是一个示例代码,你需要根据自己的实际情况进行修改和完善。
```java
import java.sql.*;
import javax.swing.*;
public class LibrarySystem extends JFrame {
private static final long serialVersionUID = 1L;
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
private String url = "jdbc:mysql://localhost:3306/library";
private String user = "root";
private String password = "password";
public LibrarySystem() {
initComponents();
connectDB();
}
private void initComponents() {
// 创建GUI界面,包括按钮、文本框等
// 点击借书按钮时,调用borrowBook()方法
// 点击还书按钮时,调用returnBook()方法
}
private void connectDB() {
try {
// 加载MySQL JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
conn = DriverManager.getConnection(url, user, password);
System.out.println("连接数据库成功!");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
System.out.println("连接数据库失败!");
}
}
private void borrowBook() {
// 从文本框中获取借书者信息
String borrower = borrowerTextField.getText();
// 从数据库中查询有没有可借的图书
String sql = "SELECT * FROM books WHERE status = 0 LIMIT 1";
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
// 如果有可借的图书,则更新图书状态和借书者信息
int bookId = rs.getInt("id");
String title = rs.getString("title");
String author = rs.getString("author");
String publisher = rs.getString("publisher");
String callNumber = rs.getString("call_number");
String status = "1";
String updateSql = "UPDATE books SET status = '" + status + "', borrower = '" + borrower + "' WHERE id = " + bookId;
stmt.executeUpdate(updateSql);
// 显示借书成功的信息
JOptionPane.showMessageDialog(null, "借书成功!\n书名:" + title + "\n作者:" + author + "\n出版商:" + publisher + "\n索书号:" + callNumber + "\n借书人:" + borrower);
} else {
// 如果没有可借的图书,则提示无法借书
JOptionPane.showMessageDialog(null, "对不起,暂无可借图书!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private void returnBook() {
// 从文本框中获取还书者信息和图书索书号
String borrower = borrowerTextField.getText();
String callNumber = callNumberTextField.getText();
// 从数据库中查询有没有该图书
String sql = "SELECT * FROM books WHERE call_number = '" + callNumber + "'";
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
// 如果有该图书,则更新图书状态和借书者信息
int bookId = rs.getInt("id");
String status = "0";
String updateSql = "UPDATE books SET status = '" + status + "', borrower = NULL WHERE id = " + bookId;
stmt.executeUpdate(updateSql);
// 显示还书成功的信息
JOptionPane.showMessageDialog(null, "还书成功!\n索书号:" + callNumber + "\n借书人:" + borrower);
} else {
// 如果没有该图书,则提示无法还书
JOptionPane.showMessageDialog(null, "对不起,找不到该图书!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 创建图书管理系统的实例
LibrarySystem librarySystem = new LibrarySystem();
// 设置窗口大小和可见性
librarySystem.setSize(400, 300);
librarySystem.setVisible(true);
}
}
```
需要注意的是,这段代码中的GUI界面和数据库表结构并不是真正的代码实现,你需要根据自己的实际需求进行修改和完善。
阅读全文