评论

收藏

[Java] Java实现医院管理系统

编程语言 编程语言 发布于:2021-10-06 16:31 | 阅读数:331 | 评论:0

这篇文章主要介为大家详细绍了Java实现医院管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java实现医院管理系统的具体代码,供大家参考,具体内容如下
1.开发工具
netbeans8.2
mysql5.7
mysql-connector-java-5.1.6.jar
2.演示
登录界面
DSC0000.png

增删查改界面
DSC0001.png

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; 
 } 
 
}
网上难找一个带界面的管理系统源码,我把这简单管理系统分享出去,希望能够帮助到那些需要帮助的人。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家
原文链接:https://blog.csdn.net/weixin_36279318/article/details/77428339

关注下面的标签,发现更多相似文章