Java实现医院管理系统

作者:凯耐 时间:2023-11-22 18:36:07 

本文实例为大家分享了Java实现医院管理系统的具体代码,供大家参考,具体内容如下

1.开发工具

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

2.演示

登录界面

Java实现医院管理系统

增删查改界面

Java实现医院管理系统

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;
}

}

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

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

来源:https://blog.csdn.net/weixin_36279318/article/details/77428339

标签:java,管理系统
0
投稿

猜你喜欢

  • 详解C# Socket异步通信实例

    2022-08-27 14:27:22
  • 深度理解Java访问修饰符

    2021-10-26 17:16:08
  • Java使用DFA算法实现敏感词过滤的示例代码

    2022-10-21 00:56:13
  • Spring中的后置处理器BeanPostProcessor详解

    2023-02-24 00:50:03
  • C++实现哈夫曼编码

    2022-07-20 20:39:01
  • c#异步操作async await状态机的总结(推荐)

    2021-08-22 07:13:12
  • java9开始——接口中可以定义private私有方法

    2023-03-27 06:53:15
  • c/c++ 标准库 bind 函数详解

    2023-03-29 09:10:39
  • JAVA MyBatis入门学习过程记录

    2022-04-23 13:49:24
  • Java基于正则实现的日期校验功能示例

    2021-09-30 02:43:26
  • JAVA中实现原生的 socket 通信机制原理

    2021-08-08 03:06:01
  • Java8中 LocalDate和java.sql.Date的相互转换操作

    2022-01-05 20:01:28
  • C# 设计模式系列教程-策略模式

    2022-04-30 16:09:03
  • Unity 如何获取鼠标停留位置下的物体

    2023-09-05 17:17:14
  • Python实现JavaBeans流程详解

    2021-05-29 05:37:39
  • C#数据导入到EXCEL的方法

    2023-01-16 02:27:26
  • Java最全文件操作实例汇总

    2023-11-14 13:00:17
  • Java swing读取txt文件实现学生考试系统

    2021-06-13 17:41:02
  • Android实现的简单蓝牙程序示例

    2021-06-27 01:23:44
  • 浅谈springboot的三种启动方式

    2022-07-31 10:57:47
  • asp之家 软件编程 m.aspxhome.com