1、package Tools; import java.sql.*; import org.junit.Test; public class ConnDB { Connection con; Statement stmt = null; ResultSet rs = null; String driverName="com.mysql.jdbc.Driver"; //驱动程序名 String user="root"; //MySQL配
2、置时旳顾客名 String password="root"; //MySQL配置时旳密码 String url="jdbc:mysql://localhost:3306/library"; //URL指向要访问旳数据库地址 ///连接数据库 public ConnDB(){ try{ Class.forName(driverName); //加载数据库程序
3、 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());
4、 } } //执行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()); }
5、 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
6、); }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 ja
7、va.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;
8、 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 =
9、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("删
10、除"); 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(Borde
11、rLayout.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
12、) { // 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()+"')"; @SuppressWarnin
13、gs("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.e
14、vent.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,
15、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("书本
16、名称"); 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.a
17、dd(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("取消");
18、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
19、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){
20、 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.s
21、etEditable(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.get
22、Text()+"' or 书本名称='"+t2.getText()+"' or '"+t3.getText()+"'=出版社"; ResultSet 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]+" ");
23、 } 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.uti
24、l.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 scrollP
25、ane; 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.ad
26、d(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是第一列旳列名 tableV
27、alues是表格内容(南部)
Vector
28、 library";
ResultSet rs = c.select(sql);
try {
while (rs.next()) {
Vector
29、 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) {
30、 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(MouseEv
31、ent 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,
32、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(Action
33、Event 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 ); Syst
34、em.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.
35、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.s
36、wing.*; 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
37、"增长/修改"); 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);
38、 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(
39、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);
40、 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 i
41、f(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); } } }






