## 1系统概述
一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选。
## 2实现技术
**此系统使用 java awt 实现**。java.awt 是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。在AWT术语中,诸如按钮或滚动条之类的用户界面对象称为组件。Component类是所有 AWT 组件的根。
## 3功能详解
#### 图书管理
- 添加:输入图书编号、图书名称、图书页数、图书作者、出版社、库存数量、所属类型等图书信息,点击Save按钮添加新图书。
- 修改:首先根据图书编号查询到所要修改的图书,然后对图书的名称、图书页数、作者、出版时间、定价、库存等信息进行修改。
- 删除:首先根据图书编号查询到所要删除的图书,然后进行删除操作。
#### 读者管理
- 添加:输入读者编号、读者姓名、读者类别、读者性别、可借天数等信息,然后点击“Add”按钮添加新读者。
- 修改:首先根据读者编号查询到要修改的读者信息,再对读者编号、读者姓名、读者类别、读者性别、可借天数等信息进行修改,修改完成点击“保存”按钮完成修改。
- 删除:首先根据读者编号查询到要删除的读者信息,然后进行删除操作。
#### 借阅管理
- 借书管理:首先根据图书编号和读者编号查询到图书和读者信息,在点击“借出”按钮完成借书。
- 还书管理:首先根据图书编号和读者编号查询到图书和读者信息,在点击“还书”按钮完成还书。
#### 查询管理
- 图书查询:输入图书名称、作者、出版时间中的任意一项,点击“查询”按钮查询图书。
- 读者查询:输入读者姓名、读者类型中的任意一项,点击“查询”按钮查询读者。
#### 系统管理
- 修改密码:首先输入旧密码等待校验,旧密码输入正确后即可设定新的密码。
- 退出系统:退出图书管理系统程序。
## 4运行截图
#### 添加图书
![](https://www.writebug.com/myres/static/uploads/2021/10/25/b9ffc29b6631b24e9032e2ebb4ab72e4.writebug)
#### 添加读者
![](https://www.writebug.com/myres/static/uploads/2021/10/25/4eab02fe79b857274eef81731cd45cbb.writebug)
#### 借书管理
![](https://www.writebug.com/myres/static/uploads/2021/10/25/33991caa77063c270b5483ebbbce0118.writebug)
## 5主要代码
#### 添加图书
```java
package com.jason.frame;//com.jason.frame.BookAdd.java
import java.awt.*;
import java.awt.event.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
public class BookAdd extends Frame implements ActionListener{
Toolkit tool= getToolkit();
String url="src/bookbk.png";
Image img=tool.getImage(url);
public void paint(Graphics g){
g.drawImage(img,0,0,this);
}
public void clearAndSetBookId(){
for(int j=0;j<booktxt.length;j++){
booktxt[j].setText("");
}
String str=getInsertOrderedList();
booktxt[0].setEditable(false);
booktxt[0].setText(str);
}
String[] lbname={"图书编号","图书名称","图书页数","图书作者","翻 译","出 版 社","出版时间","定价","库存数量","所属类型"};
Label[] booklb=new Label[10];
TextField[] booktxt=new TextField[10];
Button savebtn=new Button("Save");
Button closebtn=new Button("Close");
Choice booktype=new Choice();
public BookAdd(){
setTitle("添加新书");
setLayout(null);
setSize(500,250);
setResizable(false);
//this.setOpaque(false);
this.setForeground(Color.BLACK);
int lx=50,ly=50;
booktype.add("程序设计");
booktype.add("图形设计");
booktype.add("其他");
booktype.add("科技");
booktype.add("文学");
booktype.add("历史");
booktype.add("百科");
booktype.add("英语");
booktype.add("计算机");
booktype.add("Internet");
booktype.add("数学");
String str=getInsertOrderedList();
for(int i=0;i<booklb.length;i++){
if(lx>240){
lx=50;
ly=ly+30;
}
booklb[i]=new Label(lbname[i]);
booklb[i].setBounds(lx,ly,50,20);
booktxt[i]=new TextField();
booktxt[i].setBounds(lx+60,ly,100,20);
lx=lx+190;
add(booklb[i]);add(booktxt[i]);
}
booktxt[0].setEditable(false);
booktxt[0].setText(str);
booktxt[9].setVisible(false);
booktype.setBounds(300,170,100,20);
add(booktype);
savebtn.setBounds(150,210,80,25);
closebtn.setBounds(280,210,80,25);
add(savebtn);add(closebtn);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
DbOp.close();
dispose();
}
});
savebtn.addActionListener(this);
closebtn.addActionListener(this);
setLocationRelativeTo(null);
setVisible(true);
}
public static String getInsertOrderedList(){
String returnstring="";
String sql="select * from book";
try{
int count=0;
ResultSet rs=DbOp.executeQuery(sql);
while(rs.next()){
count++;
}
String[] allid=new String[count];
int[] intofid=new int[count];
int i=0;
ResultSet rs1=DbOp.executeQuery(sql);
while(rs1.next()){
allid[i]=rs1.getString("id");
String mystr=allid[i].substring(1);
intofid[i]=Integer.parseInt(mystr);
i++;
}
int temp=-1;
for(int j=0;j<intofid.length;j++){
if(intofid[j]>temp){
temp=intofid[j];
}
}
returnstring=String.valueOf(temp+1);
int len=returnstring.length();
for(int f=0;f<5-len;f++){
returnstring="0"+returnstring;
}
returnstring="A"+returnstring;
DbOp.close();
}catch(SQLException ee){
}
return returnstring;
}
public void actionPerformed(ActionEvent e){
Object ob=e.getSource();
if(ob==savebtn){
savebtnActionPerformed();
clearAndSetBookId();
}
if(ob==closebtn){
DbOp.close();
dispose();
}
}
public void savebtnActionPerformed(){
String id=booktxt[0].getText();
String typestr=booktype.getSelectedItem().toString();
String[] inputstring=new String[9];
boolean emptyequals=false;
for(int i=0;i<inputstring.length;i++){
inputstring[i]=booktxt[i].getText();
if(inputstring[i].equals("")){
JOptionPane.showMessageDialog(null,"请务必填写完整");
return;
}
}
if(id.equals("")){
JOptionPane.showMessageDialog(null,"图书编号不能为空");
return;
}
if(IfBookIdExit(id)){
JOptionPane.showMessageDialog(null,"图书编号已存在");
return;
}
try{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");
sdf.parse(inputstring[6]);
float price=Float.parseFloat(inputstring[7]);
int stock= Integer.parseInt(inputstring[8]);
int page=Integer.parseInt(inputstring[2]);
String sql="insert into book(id,bookname,booktype,author,translator,publisher,publish_time,price,stock,page)";
sql=sql+"values('"+id+"','"+inputstring[1]+"','"+typestr+"','"+inputstring[3]+"','"+inputstring[4]+"','";
sql=sql+inputstring[5]+"','"+inputstring[6]+"',"+price+","+stock+","+page+")";
int i=DbOp.executeUpdate(sql);
if(i==1){
JOptionPane.showMessageDialog(null,"图书添加成功!");
clearAllText();
}
}catch(ParseException e2){
JOptionPane.showMessageDialog(null,"出版时间格式错误,正确为(年-月)");
}catch(NumberFormatException e1){
JOptionPane.showMessageDialog(null,"库存数量,价格,页数错误,应为数字");
}
}
public boolean IfBookIdExit(String id){
boolean right=false;
String sql="select*from book where id='"+id+"'";
ResultSet rs=DbOp.executeQuery(sql);
try{
while(rs.next()){
right = true;
}
//right = false;
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"无法正常读取数据");
}
return right;
}
public void clearAllText(){
for(int i=0;i<booktxt.length;i++){
booktxt[i].setText("");
}
}
public static void main(String[] args){
new BookAdd();
}
}
```
#### 添加读者
```jav
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
图书管理 添加:输入图书编号、图书名称、图书页数、图书作者、出版社、库存数量、所属类型等图书信息,点击Save按钮添加新图书。 修改:首先根据图书编号查询到所要修改的图书,然后对图书的名称、图书页数、作者、出版时间、定价、库存等信息进行修改。 删除:首先根据图书编号查询到所要删除的图书,然后进行删除操作。 读者管理 添加:输入读者编号、读者姓名、读者类别、读者性别、可借天数等信息,然后点击“Add”按钮添加新读者。 修改:首先根据读者编号查询到要修改的读者信息,再对读者编号、读者姓名、读者类别、读者性别、可借天数等信息进行修改,修改完成点击“保存”按钮完成修改。 删除:首先根据读者编号查询到要删除的读者信息,然后进行删除操作。 借阅管理 借书管理:首先根据图书编号和读者编号查询到图书和读者信息,在点击“借出”按钮完成借书。 还书管理:首先根据图书编号和读者编号查询到图书和读者信息,在点击“还书”按钮完成还书。 查询管理 图书查询:输入图书名称、作者、出版时间中的任意一项,点击“查询”按钮查询图书。 读者查询:输入读者姓名、读者类型中的任意一项,点击“查询”按钮查询读者。 系统管理 修改密码:首先输入旧密码等待校验,旧密码输入正确后即可设定新的密码。 退出系统:退出图书管理系统程序。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java+MySQL实现的(GUI)图书管理系统【100012849】 (118个子文件)
start.bat 128B
start.bat 128B
Borrow.class 12KB
Back.class 9KB
BookAdd.class 8KB
BookUpdate.class 7KB
ReaderUpdate.class 7KB
ReaderDelete.class 7KB
ReaderAdd.class 7KB
BookQuery.class 6KB
BookDelete.class 5KB
ReaderQuery.class 5KB
ShowMain.class 4KB
Login.class 4KB
ChangePassWord.class 4KB
BookQueryImprove.class 4KB
BookSelect.class 2KB
Book.class 2KB
DbOp.class 2KB
ReaderSelect.class 2KB
Reader.class 2KB
IfBorrowBack.class 1KB
ReaderUpdate$2.class 794B
ShowMain$12.class 794B
ReaderDelete$2.class 794B
ReaderDelete$3.class 793B
ReaderUpdate$3.class 793B
ReaderQuery$3.class 787B
BookDelete$4.class 781B
BookUpdate$2.class 781B
ReaderAdd$1.class 778B
ReaderAdd$2.class 775B
BookQuery$3.class 775B
ShowMain$13.class 767B
ReaderDelete$4.class 766B
ReaderUpdate$4.class 766B
BookQueryImprove$1.class 762B
ChangePassWord$1.class 762B
ReaderQuery$1.class 760B
ReaderUpdate$1.class 756B
ReaderDelete$1.class 756B
BookUpdate$1.class 754B
BookDelete$1.class 754B
ChangePassWord$2.class 750B
ReaderQuery$2.class 750B
BookQuery$1.class 748B
ReaderAdd$3.class 748B
BookDelete$3.class 747B
BookDelete$2.class 746B
BookUpdate$3.class 746B
BookUpdate$4.class 745B
ShowMain$11.class 742B
BookQuery$2.class 741B
ShowMain$10.class 739B
ShowMain$5.class 738B
ShowMain$6.class 738B
ShowMain$3.class 736B
ShowMain$2.class 736B
BookAdd$1.class 736B
ShowMain$4.class 735B
ShowMain$9.class 735B
ShowMain$1.class 733B
ShowMain$7.class 732B
ShowMain$8.class 730B
Login$2.class 721B
Borrow$3.class 721B
Borrow$2.class 720B
Borrow$4.class 712B
Back$3.class 709B
Back$2.class 708B
Back$4.class 700B
Login$3.class 694B
Login$1.class 682B
Borrow$1.class 679B
Back$1.class 667B
GlobalVar.class 326B
BookManager.iml 508B
mysql-connector-java-8.0.13.jar 2.03MB
Borrow.java 11KB
Back.java 8KB
BookAdd.java 5KB
ReaderAdd.java 5KB
BookUpdate.java 5KB
ReaderUpdate.java 5KB
ReaderDelete.java 5KB
ShowMain.java 4KB
BookQuery.java 4KB
BookDelete.java 3KB
ReaderQuery.java 3KB
ChangePassWord.java 3KB
Login.java 2KB
BookQueryImprove.java 2KB
Book.java 2KB
DbOp.java 2KB
Reader.java 1KB
BookSelect.java 1KB
ReaderSelect.java 821B
IfBorrowBack.java 569B
GlobalVar.java 119B
mainbk.jpg 139KB
共 118 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2687
- 资源: 7649
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功