Java实现医院管理系统
作者:凯耐
这篇文章主要介为大家详细绍了Java实现医院管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Java实现医院管理系统的具体代码,供大家参考,具体内容如下
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; } }
网上难找一个带界面的管理系统源码,我把这简单管理系统分享出去,希望能够帮助到那些需要帮助的人。
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。