Java实现医院管理系统

 更新时间:2020年04月08日 09:35:38   作者:凯耐  
这篇文章主要介为大家详细绍了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; 
 } 

}

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

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 一个简单的Python名片管理系统

    一个简单的Python名片管理系统

    这篇文章主要为大家详细介绍了一个简单的Python名片管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 使用SpringBoot获取所有接口的路由

    使用SpringBoot获取所有接口的路由

    这篇文章主要介绍了使用SpringBoot获取所有接口的路由方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 详解java重载与覆写的区别

    详解java重载与覆写的区别

    很多同学会重载和重写分不清楚,这篇文章主要介绍了详解java重载与覆写的区别,有需要的朋友可以了解一下。
    2016-11-11
  • Java8 LocalDateTime极简时间日期操作小结

    Java8 LocalDateTime极简时间日期操作小结

    这篇文章主要介绍了Java8-LocalDateTime极简时间日期操作整理,通过实例代码给大家介绍了java8 LocalDateTime 格式化问题,需要的朋友可以参考下
    2020-04-04
  • 使用maven-assembly-plugin如何打包多模块项目

    使用maven-assembly-plugin如何打包多模块项目

    这篇文章主要介绍了使用maven-assembly-plugin如何打包多模块项目,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring AOP有多少个通知以及它们的执行顺序介绍

    Spring AOP有多少个通知以及它们的执行顺序介绍

    这篇文章主要介绍了Spring AOP有多少个通知以及它们的执行顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java 泛型详解(超详细的java泛型方法解析)

    Java 泛型详解(超详细的java泛型方法解析)

    这篇文章主要介绍了深入理解java泛型Generic,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下,希望对你有帮助
    2021-07-07
  • Spring配置文件解析之BeanDefinitionDocumentReader详解

    Spring配置文件解析之BeanDefinitionDocumentReader详解

    这篇文章主要介绍了Spring配置文件解析之BeanDefinitionDocumentReader详解,Spring的xml配置文件解析成Document对象,接下来的解析处理工作是在BeanDefinitionDocumentReader中对Document对象进行解析,需要的朋友可以参考下
    2024-02-02
  • SpringSecurity整合Jwt过程图解

    SpringSecurity整合Jwt过程图解

    这篇文章主要介绍了SpringSecurity整合Jwt过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Spring线程池ThreadPoolTaskExecutor配置详情

    Spring线程池ThreadPoolTaskExecutor配置详情

    本篇文章主要介绍了Spring线程池ThreadPoolTaskExecutor配置详情,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论