图书管理系统图书管理系统java版版
主要为大家详细介绍了java版的图书管理系统,通过实例为大家快速掌握数据库编程技术,感兴趣的小伙伴们可以参考一下
本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询、插入、删除、修改。
内容:内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书号、价格字段。设计一个GUI界面进行书目管理。在该界面上有四个选项卡,分别是查询、插入、删除、修改。点击查
询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查
询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。在文本框中输入信息后,点
击“插入”按钮,该书目信息插入数据库表中。点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。点击修改选项卡,出现的界面上有书
名、作者、出版社、出版日期、书号、价格文本框,一个按钮。输入的书名必须是已存在的,否则会弹出消息框显示出错信息。输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。
源码:源码:
BookInfo.java
* 项目名称:图书管理系统
* 版本: 1.0
* 创建者: 张俊强
* 创建时间:2016/5/26
* */
package librarySystem;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
@SuppressWarnings("serial")
public class BookInfo extends JFrame implements ActionListener{
//主角面上的控件
private JLabel inputLabel;
private JTextField inputText;
private JButton searchBut;
private JTable bookTable;
private JScrollPane bookScroll;
private JButton addBut;
private JButton modifyBut;
private JButton deleteBut;
private JButton refreshBut;
private BookTableModel bookTableModel;
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
BookInfo bookInfo=new BookInfo();
bookInfo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bookInfo.setBounds(350, 150, 600, 400);
bookInfo.setVisible(true);
// bookInfo.importSQL();//导出数据
bookInfo.setMinWindowLayout();//设置数据
}
public BookInfo() throws SQLException{
//创建主界面上的控件
inputLabel=new JLabel("请输入书名:");
inputText=new JTextField(10);
searchBut=new JButton("查询");
bookTableModel=new BookTableModel();
bookTable=new JTable(bookTableModel);
bookScroll=new JScrollPane(bookTable);
addBut=new JButton("添加");
modifyBut=new JButton("修改");
deleteBut=new JButton("删除");
refreshBut=new JButton("刷新");
searchBut.addActionListener(this);
addBut.addActionListener(this);
refreshBut.addActionListener(this);
modifyBut.addActionListener(this);
deleteBut.addActionListener(this);
}
void setMinWindowLayout(){
//主界面布局
Container con1=new Container();
con1.setLayout(new FlowLayout());
con1.add(inputLabel);
con1.add(inputText);
con1.add(searchBut);
con1.add(refreshBut);
Container con2=new Container();
con2.setLayout(new FlowLayout());
con2.add(addBut);
con2.add(modifyBut);
con2.add(deleteBut);
this.setLayout(new BorderLayout());
this.add(con1,BorderLayout.NORTH);
this.add(bookScroll,BorderLayout.CENTER);
this.add(con2,BorderLayout.SOUTH);
this.validate();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==searchBut){
if(!this.inputText.getText().equals("")){
String bookName=this.inputText.getText();
String sql="SELECT * FROM book_info WHERE book_name ='"+bookName+"'";
try {
bookTableModel=new BookTableModel(sql);
bookTable.setModel(bookTableModel);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}else{
JOptionPane.showMessageDialog(this,"输入不能为空", "提示",JOptionPane.PLAIN_MESSAGE);
}
}
else if(e.getSource()==addBut){
@SuppressWarnings("unused")
AddBookDialog addWin=new AddBookDialog(this,"添加图书",true);
this.refreshTable();
}
else if(e.getSource()==refreshBut){
this.refreshTable();
}
else if(e.getSource()==deleteBut){
int rowNum=bookTable.getSelectedRow();
if(rowNum<0||rowNum>bookTable.getRowCount()){
JOptionPane.showMessageDialog(this,"未选中", "提示",JOptionPane.PLAIN_MESSAGE);
}
else{
//System.out.print(bookName);
int n = JOptionPane.showConfirmDialog(null, "确认删除吗?", "确认删除框", JOptionPane.YES_NO_OPTION);