Java实现简单的医院管理系统源码

来源:互联网 发布:dac 单片机 编辑:程序博客网 时间:2024/05/18 01:36

1.开发工具

  • NetBeans8.2
  • Mysql5.7
  • mysql-connector-java-5.1.6.jar

2.演示

登录界面

这里写图片描述
增删查改界面
这里写图片描述

3.源码

CREATE TABLE user (
username varchar(255) NOT NULL,
password varchar(255) DEFAULT NULL,
PRIMARY KEY (username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE doctor_info (
no varchar(45) NOT NULL,
name varchar(45) DEFAULT NULL,
departments varchar(45) DEFAULT NULL,
level varchar(45) DEFAULT NULL,
ghf varchar(45) DEFAULT NULL,
PRIMARY KEY (no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

package 经典增删查改;import com.mysql.jdbc.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JComboBox;import javax.swing.JOptionPane;public class Login extends javax.swing.JFrame {   private int flag;   public Login() {       initComponents();   }   /**    * This method is called from within the constructor to initialize the form.    * WARNING: Do NOT modify this code. The content of this method is always    * regenerated by the Form Editor.    */   @SuppressWarnings("unchecked")   // <editor-fold defaultstate="collapsed" desc="Generated Code">                             private void initComponents() {       jLabel1 = new javax.swing.JLabel();       jLabel2 = new javax.swing.JLabel();       jTextField2 = new javax.swing.JTextField();       jPasswordField1 = new javax.swing.JPasswordField();       jButton2 = new javax.swing.JButton();       jButton3 = new javax.swing.JButton();       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);       jLabel1.setText("账号");       jLabel2.setText("密码");       jTextField2.setText(" ");       jButton2.setText("登录");       jButton2.addActionListener(new java.awt.event.ActionListener() {           public void actionPerformed(java.awt.event.ActionEvent evt) {               jButton2ActionPerformed(evt);           }       });       jButton3.setText("退出");       jButton3.addActionListener(new java.awt.event.ActionListener() {           public void actionPerformed(java.awt.event.ActionEvent evt) {               jButton3ActionPerformed(evt);           }       });       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());       getContentPane().setLayout(layout);       layout.setHorizontalGroup(           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)           .addGroup(layout.createSequentialGroup()               .addGap(103, 103, 103)               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)                   .addComponent(jLabel2)                   .addComponent(jLabel1))               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)                   .addGroup(layout.createSequentialGroup()                       .addComponent(jButton2)                       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 35, Short.MAX_VALUE)                       .addComponent(jButton3))                   .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)                       .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)                       .addComponent(jPasswordField1)))               .addContainerGap(114, Short.MAX_VALUE))       );       layout.setVerticalGroup(           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)           .addGroup(layout.createSequentialGroup()               .addGap(69, 69, 69)               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                   .addComponent(jLabel1)                   .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                   .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)                   .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))               .addGap(18, 18, 18)               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                   .addComponent(jButton2)                   .addComponent(jButton3))               .addContainerGap(49, Short.MAX_VALUE))       );       pack();   }// </editor-fold>                           private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                                System.exit(0);   }                                           private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                                try {           Connection con = DBConnection.getConnection();           Statement stmt = con.createStatement();           String sql="select *from user";           ResultSet rs = stmt.executeQuery(sql);           String usename=jTextField2.getText().trim();           char[] p=jPasswordField1.getPassword();           String pwd=new String(p);           String   name = null;           String pass = null;           while(rs.next()){                name=rs.getString(1);                pass=rs.getString(2);                if(usename.equals(name)&&pwd.equals(pass)){                    System.out.println("登录成功!!");                    new doctorInfoGui().setVisible(true);                    this.dispose();             }                    }        } catch (ClassNotFoundException ex) {           Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);       } catch (SQLException ex) {           Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);       }   }                                           /**    * @param args the command line arguments    */   public static void main(String args[]) {       /* Set the Nimbus look and feel */       //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">       /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.        * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html         */       try {           for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {               if ("Nimbus".equals(info.getName())) {                   javax.swing.UIManager.setLookAndFeel(info.getClassName());                   break;               }           }       } catch (ClassNotFoundException ex) {           java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);       } catch (InstantiationException ex) {           java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);       } catch (IllegalAccessException ex) {           java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);       } catch (javax.swing.UnsupportedLookAndFeelException ex) {           java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);       }       //</editor-fold>       /* Create and display the form */       java.awt.EventQueue.invokeLater(new Runnable() {           public void run() {               new Login().setVisible(true);           }       });   }   // Variables declaration - do not modify                        private javax.swing.JButton jButton2;   private javax.swing.JButton jButton3;   private javax.swing.JLabel jLabel1;   private javax.swing.JLabel jLabel2;   private javax.swing.JPasswordField jPasswordField1;   private javax.swing.JTextField jTextField2;   // End of variables declaration                   }
package 经典增删查改;import java.awt.event.KeyEvent;import javax.swing.JOptionPane;public class doctorInfoGui extends javax.swing.JFrame {    public doctorInfoGui() {        initComponents();        String sql="select*from doctor_info";        //doctorInfo看作为一个TableModel        doctorInfo d=new doctorInfo (sql);        //教你如何添加数据的方法        jTable1.setModel(d);        System.out.println(" 已经给表添加好了数据!");    }    private void initComponents() {        jtfseacher = new javax.swing.JTextField();        jbtseacher = new javax.swing.JButton(); ///////////////////////////////////////////////////////////////////         //Alt+Enter       jbtseacher.setMnemonic(KeyEvent.VK_ENTER);         jScrollPane1 = new javax.swing.JScrollPane();        jScrollPane2 = new javax.swing.JScrollPane();        jTable1 = new javax.swing.JTable();        jLabel1 = new javax.swing.JLabel();        jLabel2 = new javax.swing.JLabel();        jLabel3 = new javax.swing.JLabel();        jLabel4 = new javax.swing.JLabel();        jLabel5 = new javax.swing.JLabel();        jtfno = new javax.swing.JTextField();        jtfname = new javax.swing.JTextField();        jTextFieldks = new javax.swing.JTextField();        jtflevel = new javax.swing.JTextField();        jtfghf = new javax.swing.JTextField();        jbtAdd = new javax.swing.JButton();        Updatajbt = new javax.swing.JButton();        jbtUpdata = new javax.swing.JButton();        jLabel6 = new javax.swing.JLabel();        deletejbt = new javax.swing.JButton();        jbtClear = new javax.swing.JButton();        jLabel7 = new javax.swing.JLabel();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        jbtseacher.setText("查询");        jtfseacher.setToolTipText("按姓名查询");        jbtseacher.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jbtseacherActionPerformed(evt);            }        });        jTable1.addMouseListener(new java.awt.event.MouseAdapter() {            public void mouseClicked(java.awt.event.MouseEvent evt) {                jTable1MouseClicked(evt);            }        });        jScrollPane2.setViewportView(jTable1);        jScrollPane1.setViewportView(jScrollPane2);        jLabel1.setText("编号");        jLabel2.setText("姓名");        jLabel3.setText("科室");        jLabel4.setText("级别");        jLabel5.setText("挂号费");        jtfno.setText(" ");        jtfname.setText(" ");        jtflevel.setText(" ");        jtfghf.setText(" ");        jbtAdd.setText("添加");        jbtAdd.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jbtAddActionPerformed(evt);            }        });        Updatajbt.setText("修改");        Updatajbt.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                UpdatajbtActionPerformed(evt);            }        });        jLabel6.setText("姓名");        deletejbt.setText("删除");        deletejbt.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                deletejbtActionPerformed(evt);            }        });        jbtClear.setText("清空");        jbtClear.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jbtClearActionPerformed(evt);            }        });        jLabel7.setText("科室");        jTextFieldks.setText(" ");        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());        getContentPane().setLayout(layout);        layout.setHorizontalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addGroup(layout.createSequentialGroup()                        .addContainerGap()                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 515, Short.MAX_VALUE))                    .addGroup(layout.createSequentialGroup()                        .addGap(81, 81, 81)                        .addComponent(jtfseacher, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addGap(39, 39, 39)                        .addComponent(jbtseacher)                        .addGap(32, 32, 32)                        .addComponent(deletejbt))                    .addGroup(layout.createSequentialGroup()                        .addContainerGap()                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                            .addGroup(layout.createSequentialGroup()                                .addComponent(jLabel1)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                .addComponent(jtfno, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))                            .addGroup(layout.createSequentialGroup()                                .addComponent(jLabel6)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                .addComponent(jtfname, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                            .addGroup(layout.createSequentialGroup()                                .addGap(32, 32, 32)                                .addComponent(jLabel4)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                .addComponent(jtflevel, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))                            .addGroup(layout.createSequentialGroup()                                .addGap(18, 18, 18)                                .addComponent(jLabel5)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                .addComponent(jtfghf, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)))                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                            .addGroup(layout.createSequentialGroup()                                .addGap(55, 55, 55)                                .addComponent(jbtUpdata))                            .addGroup(layout.createSequentialGroup()                                .addGap(30, 30, 30)                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                                    .addGroup(layout.createSequentialGroup()                                        .addComponent(jLabel7)                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                        .addComponent(jTextFieldks, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE))                                    .addGroup(layout.createSequentialGroup()                                        .addComponent(jbtAdd)                                        .addGap(10, 10, 10)                                        .addComponent(jbtClear)                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                        .addComponent(Updatajbt)))))))                .addContainerGap())            .addGroup(layout.createSequentialGroup()                .addContainerGap()                .addComponent(jLabel3)                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addComponent(jLabel2))));        layout.setVerticalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addGap(17, 17, 17)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jtfseacher, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jbtseacher)                    .addComponent(deletejbt))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                        .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addComponent(jbtUpdata)))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addGroup(layout.createSequentialGroup()                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                            .addComponent(jLabel1)                            .addComponent(jLabel4)                            .addComponent(jtfno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                            .addComponent(jtflevel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                            .addComponent(jLabel7)                            .addComponent(jTextFieldks, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                        .addGap(8, 8, 8)                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                            .addComponent(jLabel5)                            .addComponent(jtfname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                            .addComponent(jtfghf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                            .addComponent(jLabel6))                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addContainerGap(39, Short.MAX_VALUE))                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                                .addComponent(jbtClear)                                .addComponent(Updatajbt))                            .addComponent(jbtAdd, javax.swing.GroupLayout.Alignment.LEADING))                        .addGap(43, 43, 43))))        );        pack();    }// </editor-fold>                            private void jbtseacherActionPerformed(java.awt.event.ActionEvent evt) {                                                    String text=jtfseacher.getText().trim();         //重新执行查询sql语句,在读取数据,然后再添加到Table表格中,实现刷新表格的作用         String sql="select*from doctor_info where name='"+text+"'";         doctorInfo d=new doctorInfo (sql);         jTable1.setModel(d);         jtfseacher.setText("");    }                                              private void jbtAddActionPerformed(java.awt.event.ActionEvent evt) {                                                 String no=jtfno.getText().trim();          String name=jtfname.getText().trim();          String ks=  jTextFieldks.getText().trim();          String level=jtflevel.getText().trim();          String ghf=jtfghf.getText().trim();          //执行添加sql语句,再读取数据          String sql = "INSERT INTO doctor_info(no,name ,departments,level,ghf) VALUES('" + no + "','" + name+ "',   '" + ks+ "',   '" + level + "','"+ghf+"')";          doctorInfo df=new doctorInfo ();          df.Add(sql);          //          //重新读取数据          String sql1="select*from doctor_info";          doctorInfo d=new doctorInfo (sql1);           jTable1.setModel(d);           jtfno.setText("");           jtfname.setText("");           jtflevel.setText("");           jtfghf.setText("");           jTextFieldks.setText("");    }                                          private void UpdatajbtActionPerformed(java.awt.event.ActionEvent evt) {                                                  //获取当前位置        int index = jTable1.getSelectedRow();        //获取莫一行的第0列的值,注意获取的行数需要减少一个      String id =  jTable1.getValueAt(index-1, 0).toString() ;      String no=jtfno.getText().trim();      String name=jtfname.getText().trim();      String ks= jTextFieldks.getText().trim();      String level=jtflevel.getText().trim();      String ghf=jtfghf.getText().trim();      jtfno.setText("");      jtfname.setText("");      jtflevel.setText("");      jtfghf.setText("");      jTextFieldks.setText("");      String sql = "UPDATE  doctor_info SET name ='" + name + "',departments='" + ks + "',level='" + level+ "',ghf='" + ghf + "' WHERE no='" + no+ "'";      System.out.println(id);      System.out.println(no);      doctorInfo df=new doctorInfo ();      df.Update(sql);      //重新读取数据      String sql1="select*from doctor_info";      doctorInfo d=new doctorInfo (sql1);       jTable1.setModel(d);    }                                             private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                             //获取某一行的具体值,并把它显示在文本框中        String no = jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString();        String name = jTable1.getValueAt(jTable1.getSelectedRow(), 1).toString();        String ks = jTable1.getValueAt(jTable1.getSelectedRow(), 2).toString();        String level = jTable1.getValueAt(jTable1.getSelectedRow(), 3).toString();        String ghf= jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString();        //把点击的内容显示在文本框中        jtfno.setText(no);        jtfname.setText(name);        jTextFieldks.setText(ks);        jtflevel.setText(level);        jtfghf.setText(ghf);    }                                        private void deletejbtActionPerformed(java.awt.event.ActionEvent evt) {                                                   //设置选择对话框的选项                                             String[] options = {"是", "否"};        int answ = JOptionPane.showOptionDialog(null, "是否确认删除??", "提示", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);        if (answ == 0) {            int index = jTable1.getSelectedRow();            String id = jTable1.getValueAt(index, 0).toString();            String sql="delete from doctor_info where no='"+id+"'";           // 删除一条记录            doctorInfo df=new doctorInfo ();            df.delete(sql);            System.out.println("删除成功!!!");            //重新读取数据            String sql1="select*from doctor_info";            doctorInfo d=new doctorInfo (sql1);             jTable1.setModel(d);             jtfno.setText("");             jtfname.setText("");             jtflevel.setText("");             jtfghf.setText("");             jTextFieldks.setText("");            } else             {                JOptionPane.showMessageDialog(null, "无法删除!!!");            }    }                                             private void jbtClearActionPerformed(java.awt.event.ActionEvent evt) {                                                  jtfno.setText("");         jtfname.setText("");         jtflevel.setText("");         jtfghf.setText("");         jTextFieldks.setText("");    }                                            public static void main(String args[]) {        /* Set the Nimbus look and feel */        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html          */        try {            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {                if ("Nimbus".equals(info.getName())) {                    javax.swing.UIManager.setLookAndFeel(info.getClassName());                    break;                }            }        } catch (ClassNotFoundException ex) {            java.util.logging.Logger.getLogger(doctorInfoGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        } catch (InstantiationException ex) {            java.util.logging.Logger.getLogger(doctorInfoGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        } catch (IllegalAccessException ex) {            java.util.logging.Logger.getLogger(doctorInfoGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        } catch (javax.swing.UnsupportedLookAndFeelException ex) {            java.util.logging.Logger.getLogger(doctorInfoGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);        }        //</editor-fold>        /* Create and display the form */        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                new doctorInfoGui().setVisible(true);            }        });    }    // Variables declaration - do not modify                         private javax.swing.JButton Updatajbt;    private javax.swing.JButton deletejbt;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel2;    private javax.swing.JLabel jLabel3;    private javax.swing.JLabel jLabel4;    private javax.swing.JLabel jLabel5;    private javax.swing.JLabel jLabel6;    private javax.swing.JLabel jLabel7;    private javax.swing.JScrollPane jScrollPane1;    private javax.swing.JScrollPane jScrollPane2;    private javax.swing.JTable jTable1;    private javax.swing.JButton jbtAdd;    private javax.swing.JButton jbtClear;    private javax.swing.JButton jbtUpdata;    private javax.swing.JButton jbtseacher;    private javax.swing.JTextField jtfghf;    private javax.swing.JTextField jTextFieldks;    private javax.swing.JTextField jtflevel;    private javax.swing.JTextField jtfname;    private javax.swing.JTextField jtfno;    private javax.swing.JTextField jtfseacher;    // End of variables declaration                   }
package 经典增删查改;import java.io.Serializable;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.table.AbstractTableModel;public class doctorInfo extends AbstractTableModel  {       Connection con=null;       PreparedStatement ps=null;       ResultSet rs=null;       Vector<Serializable> rowData,columnName;       public doctorInfo(String sql){          init( sql) ;       }       public doctorInfo(){        }       public void init(String sql){                //columnName保存表头信息               columnName=new Vector<Serializable>();               columnName.add("编号");               columnName.add("姓名");               columnName.add("科室");               columnName.add("级别");               columnName.add("挂号费");            //rowData向量保存每一行的信息            rowData=new Vector<Serializable>();           try {            con = DBConnection.getConnection();             ps=(PreparedStatement) con.prepareStatement( sql);             rs=ps.executeQuery();            while(rs.next()){                   Vector bang=new Vector();                   bang.add(rs.getString(1) );                   bang.add(rs.getString(2) );                   bang.add(rs.getString(3) );                   bang.add(rs.getString(4) );                   bang.add(rs.getString(5) );                   //将读取的每一行数据添加到bang中,然后再把bang添加到rowData向量中                    rowData.add(bang);            }        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            if(con!=null&&ps!=null&rs!=null){                try {                    con.close();                    ps.close();                    rs.close();                } catch (SQLException e) {                    e.printStackTrace();                }            }        }  }    public void chushihua(String sql){         Connection con=null;         PreparedStatement ps=null;        int rs;        try {            con = DBConnection.getConnection();             ps=(PreparedStatement) con.prepareStatement( sql);             rs=ps.executeUpdate();        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }   ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    public void delete(String sql){        chushihua( sql);    }    public void Add(String sql){        chushihua( sql);    }    public void Update(String sql){        chushihua( sql);    }//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   @Override   public int getRowCount() {        return this.rowData.size();   }   @Override   public int getColumnCount() {      return this.columnName.size();   }   @Override   public Object getValueAt(int  row, int column) {        return  ((Vector ) this.rowData.get(row)).get(column);   }   public String getColumnName(int column) {        return   (String) this.columnName.get(column);    }  }
package 经典增删查改;import com.mysql.jdbc.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.logging.Level;import java.util.logging.Logger;class DBConnection{     public static Connection getConnection() throws ClassNotFoundException {       // JDBC 驱动名及数据库 URL     String JDBC_DRIVER = "com.mysql.jdbc.Driver";     String URL = "jdbc:mysql://localhost:3306/hospital";     String USER = "root";     String PASSWORD = "root";     Connection conn = null;              //与数据库建立连接               Class.forName(JDBC_DRIVER);         try {             conn=  (Connection) DriverManager.getConnection(URL,USER,PASSWORD);            System.out.println("已经连接数据库");         } catch (SQLException ex) {             Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);         }         return conn;      }  }

网上难找一个带界面的管理系统源码,我把这简单管理系统分享出去,希望能够帮助到那些需要帮助的人。

原创粉丝点击