图书管理系统java代码
时间: 2023-07-30 13:04:42 浏览: 44
由于图书管理系统代码比较长,这里提供一个基本的框架供参考:
Book.java
```java
public class Book {
private String bookId;
private String title;
private String author;
private String publisher;
private int year;
private double price;
// 构造函数
public Book(String bookId, String title, String author, String publisher, int year, double price) {
this.bookId = bookId;
this.title = title;
this.author = author;
this.publisher = publisher;
this.year = year;
this.price = price;
}
// getter和setter方法
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
```
Reader.java
```java
public class Reader {
private String readerId;
private String name;
private String phone;
// 构造函数
public Reader(String readerId, String name, String phone) {
this.readerId = readerId;
this.name = name;
this.phone = phone;
}
// getter和setter方法
public String getReaderId() {
return readerId;
}
public void setReaderId(String readerId) {
this.readerId = readerId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
```
Borrow.java
```java
public class Borrow {
private String borrowId;
private String bookId;
private String readerId;
private Date borrowDate;
private Date dueDate;
private boolean returned;
// 构造函数
public Borrow(String borrowId, String bookId, String readerId, Date borrowDate, Date dueDate) {
this.borrowId = borrowId;
this.bookId = bookId;
this.readerId = readerId;
this.borrowDate = borrowDate;
this.dueDate = dueDate;
this.returned = false;
}
// getter和setter方法
public String getBorrowId() {
return borrowId;
}
public void setBorrowId(String borrowId) {
this.borrowId = borrowId;
}
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getReaderId() {
return readerId;
}
public void setReaderId(String readerId) {
this.readerId = readerId;
}
public Date getBorrowDate() {
return borrowDate;
}
public void setBorrowDate(Date borrowDate) {
this.borrowDate = borrowDate;
}
public Date getDueDate() {
return dueDate;
}
public void setDueDate(Date dueDate) {
this.dueDate = dueDate;
}
public boolean isReturned() {
return returned;
}
public void setReturned(boolean returned) {
this.returned = returned;
}
}
```
Library.java
```java
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Library {
private Connection conn;
private Statement stmt;
public Library() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/library", "root", "");
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
// 查询图书
public List<Book> searchBooks(String keyword) {
List<Book> books = new ArrayList<Book>();
try {
String sql = "SELECT * FROM books WHERE title LIKE '%" + keyword + "%' OR author LIKE '%" + keyword + "%' OR publisher LIKE '%" + keyword + "%'";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String bookId = rs.getString("book_id");
String title = rs.getString("title");
String author = rs.getString("author");
String publisher = rs.getString("publisher");
int year = rs.getInt("year");
double price = rs.getDouble("price");
Book book = new Book(bookId, title, author, publisher, year, price);
books.add(book);
}
} catch (Exception e) {
e.printStackTrace();
}
return books;
}
// 借阅图书
public boolean borrowBook(String bookId, String readerId, Date dueDate) {
try {
String sql = "INSERT INTO borrows (book_id, reader_id, borrow_date, due_date) VALUES ('" + bookId + "', '" + readerId + "', NOW(), '" + dueDate + "')";
int result = stmt.executeUpdate(sql);
if (result == 1) {
sql = "UPDATE books SET available = 0 WHERE book_id = '" + bookId + "'";
result = stmt.executeUpdate(sql);
if (result == 1) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
// 归还图书
public boolean returnBook(String borrowId) {
try {
String sql = "UPDATE borrows SET returned = 1 WHERE borrow_id = '" + borrowId + "'";
int result = stmt.executeUpdate(sql);
if (result == 1) {
sql = "SELECT book_id FROM borrows WHERE borrow_id = '" + borrowId + "'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
String bookId = rs.getString("book_id");
sql = "UPDATE books SET available = 1 WHERE book_id = '" + bookId + "'";
result = stmt.executeUpdate(sql);
if (result == 1) {
return true;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
```
这个代码框架可以帮助您了解如何使用Java实现图书管理系统的基本功能,但是需要根据具体的需求进行修改和完善。