java做的简单图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
package Tools;
import java.sql.*;
import org.junit.Test;
public class ConnDB
{
Connection con;
Statement stmt =null;
R esultSet rs = null;
String driverName="com.mysql.jdbc.Driver"; //驱动程序名
String user="root";
//MySQL 配置时的用户名
String password="root"; //MySQL 配置时的密码
String url="jdbc:mysql://localhost:3306/library"; //URL 指向要访问的数据库地址///连接数据库
public ConnDB(){
try{
Class.forName(driverName);
//加载数据库程序
con = DriverManager.getConnection(url, user, password); //使用getConnection()方法,连接MySQL 数据库!!
if(!con.isClosed()){
System.out.println("连接成功~!");
}
else{
System.out.println("连接失败~!");
}
}catch(Exception e){
System.err.println(e.getMessage());
}
}
//执行SQL查询,并返回查询结果集
public ResultSet select(String sql){
try{
Class.forName(driverName);
con=DriverManager.getConnection(url,user,password);
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
}catch(Exception e){
System.err.println(e.getMessage());
}
return rs;
}
@Test
public void testSelect(){
}
/*执行SQL更新,并返回影响到的记录条数*/
public int update(String sql)
{
int rs=0;
try
{
Class.forName(driverName);
con=DriverManager.getConnection(url,user,password);
stmt=con.createStatement();
rs=stmt.executeUpdate(sql);
}catch(Exception e)
{
System.err.println(e.getMessage());
}
return rs;
}
public void testupdate(){
}
public static void main(String[]args){
new ConnDB();
}
}
package Library.Management.System;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.text.JTextComponent;
import Tools.ConnDB;
public class addInterface implements ActionListener{
JFrame frame;
JPanel p1,p2,p3;
JLabel l1,l2,l3,l4;
JTextField t1,t2,t3,t4;
JButton last,next,enter,cancel,delete; public addInterface(){
frame=new JFrame("增加/修改");
l1= new JLabel("图书编号");
t1= new JTextField(10);
l2= new JLabel("书本名称");
t2= new JTextField(10);
l3= new JLabel("定价t3 = new JTextField(10);l4 = new JLabel("出版社
"); ");
t4= new JTextField(10);
p1 =new JPanel();
p1.add(l1);
p1.add(t1);
p1.add(l2);
p1.add(t2);
p2 =new JPanel();
p2.add(l3);
p2.add(t3);
p2.add(l4);
p2.add(t4);
p3=new JPanel();
last=new JButton("上一条");
next=new JButton("下一条");
enter=new JButton("确认");
delete = new JButton("删除"); cancel= new JButton("取消");
p3.add(last);
p3.add(next);
p3.add(enter);
p3.add(cancel);
p3.add(delete);
enter.addActionListener(this); cancel.addActionListener(this);
frame.add(BorderLayout.NORTH,p1);
frame.add(BorderLayout.CENTER,p2);
frame.add(BorderLayout.SOUTH,p3);
frame.setVisible(true);
frame.setSize(500,150);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
/*public static void main(String[]args){
new addInterface();
}*/
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
if(e.getSource()==cancel)
{
frame.dispose();
}
if(e.getSource()==enter)
{
ConnDB c=new ConnDB();
String sql = "insert library values('"+t1.getText()+"','"+t2.getText()+"','"+t3.getText()+"','"+t4.getText()+"')";
@SuppressWarnings("unused")
int rs=c.update(sql);
String[]rowValues={t1.getText(),t2.getText(),t3.getText(),t4.getText()};
InterfaceMain.tablemodel.addRow(rowValues);
}
}
}
package Library.Management.System;
//import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import javax.swing.*;
import Tools.ConnDB;
public class selInterface implements ActionListener { JFrame frame;
JPanel p1,p2,p3,p4,p5,p6;
JLabel l1,l2,l3;
JRadioButton bh,mc,cbs;
ButtonGroup g;
JTextField t1,t2,t3;
JButton enter,cancel;
JTextArea jt;
JScrollPane scrollPane;
public selInterface(){
frame=new JFrame("查询");
bh =new JRadioButton();
bh.addActionListener(this);
l1= new JLabel("图书编号");
t1= new JTextField(10);
mc=new JRadioButton();
mc.addActionListener(this);
l2= new JLabel("书本名称");
t2= new JTextField(10);
cbs= new JRadioButton();
cbs.addActionListener(this);
l3= new JLabel(" 出版社");
t3= new JTextField(10);
t1.setEditable(false);
t2.setEditable(false);
t3.setEditable(false);
g =new ButtonGroup();
g.add(bh);
g.add(mc);
g.add(cbs);
p1 =new JPanel();
p1.add(bh);
p1.add(l1);
p1.add(t1);
p2 =new JPanel();
p2.add(mc);
p2.add(l2);
p2.add(t2);
p3 =new JPanel();
p3.add(cbs);
p3.add(l3);
p3.add(t3);
p4 =new JPanel();
enter=new JButton("确定");
cancel= new JButton("取消");
enter.addActionListener(this);
cancel.addActionListener(this);
p4.add(enter);
p4.add(cancel);
p5 =new JPanel();
jt=new JTextArea(10,20);
jt.setEditable(false);
scrollPane=new JScrollPane(jt);
p5.add(scrollPane);
p6 =new JPanel();
//p6.setLayout(new GridLayout(5,1));
p6.add(p1);
p6.add(p2);
p6.add(p3);
p6.add(p5);
p6.add(p4);
frame.add(p6);
frame.setVisible(true);
frame.setSize(350,400);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }
public static void main(String[]args){
new selInterface();
}
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
if(bh.isSelected())
{
t1.setEditable(true);
t2.setEditable(false);
t3.setEditable(false);
}
if(mc.isSelected())
{
t1.setEditable(false);
t2.setEditable(true);
t3.setEditable(false);
}
if(cbs.isSelected())
{
t1.setEditable(false);
t2.setEditable(false);
t3.setEditable(true);
}
if(e.getSource()==enter)
{
String sql=null;
ConnDB con=new ConnDB();
sql = "SELECT * FROM library where 图书编号='"+t1.getText()+"' or 书本名称='"+t2.getText()+"'or '"+t3.getText()+"'=出版社";
R esultSet rs = con.select(sql);
String[]tempData= new String[4];
try{
while(rs.next()){
for (int i=0;i<4;i++)
{
tempData[i]= rs.getString(i + 1);
jt.append(tempData[i]+" ");
}
jt.append("\n");
}
}catch(Exception e2){
//TODO:handle exception
}
}
if(e.getSource()==cancel)
{
frame.dispose();
}
}
}
package Library.Management.System;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import Tools.ConnDB;
public class InterfaceMain implements ActionListener{
JFrame frame;
JPanel p1,p2,p3;
JButton add,sel,del,exit;
JTable table;
static DefaultTableModel tablemodel;
JScrollPane scrollPane;
Connection con;
public InterfaceMain(){
//主界面和四个按钮还有监控按钮(北部)
frame=new JFrame("图书管理系统");
p1 =new JPanel();
add= new JButton("增加");
sel= new JButton("查询");
del=new JButton("删除");
exit=new JButton("退出");
p1.add(add);
p1.add(sel);
p1.add(del);
p1.add(exit);
add.addActionListener(this);
sel.addActionListener(this);
del.addActionListener(this);
exit.addActionListener(this);
//分割线(中部)
p2 =new JPanel();
JSeparator js=new JSeparator();
js.setPreferredSize(new Dimension(1000,1));
p2.add(js);
//表格columnName 是第一列的列名tableValues是表格内容(南部)
Vector<String>columnName=new Vector<String>();
columnName.add("图书编号");
columnName.add("书名");
columnName.add("定价");
columnName.add("出版社");
Vector<Vector<String>>tableValue=new Vector<Vector<String>>();
ConnDB c=new ConnDB();
String sql= "SELECT* FROM library";
ResultSet rs = c.select(sql);
try{
while(rs.next()){
Vector<String>row=new Vector<String>();
String[]data = new String[4];
for (int i= 0; i < 4; i++){
data[i]= rs.getString(i+1);
//System.out.println(data[i]);
row.add(data[i]);
}
tableValue.add(row);
}
}catch(Exception e){
//TODO:handle exception
}
tablemodel=new DefaultTableModel(tableValue,columnName); table = new JTable(tablemodel);
table.addMouseListener(new MouseListener(){
@Override
public void mouseClicked(MouseEvent e) {
int row=table.getSelectedRow();
@SuppressWarnings("unused")
Object o=tablemodel.getValueAt(row,0);
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
});
scrollPane= new JScrollPane(table);
p3 =new JPanel();
p3.add(scrollPane);
//设置整体面板属性
frame.add(BorderLayout.NORTH,p1);
frame.add(BorderLayout.CENTER,p2);
frame.add(BorderLayout.SOUTH,p3);
frame.setVisible(true);
frame.setSize(500,500);
frame.setResizable(false);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
//主方法
public static void main(String[]args){
new InterfaceMain();
}
//四个按钮的时间处理
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
if(e.getSource()==add)
{
new addInterface();
}
if(e.getSource()==sel)
{
new selInterface();
}
if(e.getSource()==del)
{
int n=JOptionPane.showConfirmDialog(null, "是否删除?", "注意! !!",JOptionPane.YES_NO_OPTION );
System.out.println(n);
if(n==0)
{
int row=table.getSelectedRow();
Object bh=tablemodel.getValueAt(row,0);
ConnDB con= new ConnDB();
String sql="Delete FROM library where图书编号="+bh;
con.update(sql);
tablemodel.removeRow(table.getSelectedRow());
}
else
{
System.out.println("取消");
}
}
if(e.getSource()==exit)
{
System.exit(0);
}
}
}
package Library.Management.System;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.text.JTextComponent;
import Tools.ConnDB;
public class addInterface implements ActionListener { JFrame frame;
JPanel p1,p2,p3;
JLabel l1,l2,l3,l4;
JTextField t1,t2,t3,t4;
JButton last,next,enter,cancel,delete;
public addInterface(){
frame=new JFrame("增加/修改");
l1= new JLabel("图书编号");
t1= new JTextField(10);
l2= new JLabel("书本名称");
t2= new JTextField(10);
l3= new JLabel("定价t3 = new JTextField(10);l4 = new JLabel("出版社t4 = new JTextField(10);
p1 =new JPanel();
p1.add(l1);
p1.add(t1);
p1.add(l2);
p1.add(t2);
"); ");
p2 =new JPanel();
p2.add(l3);
p2.add(t3);
p2.add(l4);
p2.add(t4);
p3=new JPanel();
last=new JButton("上一条");
next=new JButton("下一条");
enter=new JButton("确认");
delete = new JButton("删除");
cancel= new JButton("取消");
p3.add(last);
p3.add(next);
p3.add(enter);
p3.add(cancel);
p3.add(delete);
enter.addActionListener(this);
cancel.addActionListener(this);
frame.add(BorderLayout.NORTH,p1);
frame.add(BorderLayout.CENTER,p2);
frame.add(BorderLayout.SOUTH,p3);
frame.setVisible(true);
frame.setSize(500,150);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
/*public static void main(String[]args){
new addInterface();
}*/
@Override
public void actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
if(e.getSource()==cancel)
{
frame.dispose();
}
if(e.getSource()==enter)
{
ConnDB c=new ConnDB();
String sql = "insert library values('"+t1.getText()+"','"+t2.getText()+"','"+t3.getText()+"','"+t4.getText()+"')";
@SuppressWarnings("unused")
int rs=c.update(sql);
String[]rowValues={t1.getText(),t2.getText(),t3.getText(),t4.getText()};
InterfaceMain.tablemodel.addRow(rowValues);
}
}
}。