前言:

本次实验老师要求我们用java程序实现,其整个实现流程也满足了老师提出的实验要求。由于绝大部分都是在课堂上完成的,写得有误的地方还请大家包涵。

1.下载所需的jar包并通过项目Build Path选项添加进来

这次实验用到了两个外部jar包,分别是解析xml的dom4j包和jdbc连接mysql数据库的驱动包。

中医门诊电子病历单参考:

(图1.1)

2.根据以上图片信息编写xml文档

(图1.2)

编写的比较简易,没有添加任何约束和其他必要条件。

将编写好的xml文件放到工程文件夹下,如下图所示:

(图1.3)

3.建数据库和表

这次实验用到的是mysql数据库。

4.编写java代码

一共建了4个类,如上图1.3,ReadXml类用于读取工程下的2.xml数据,PatientBean类用于封装图1.1的字段信息,Conndb类用于连接mysql数据库,MainClass类为运行主类。部分代码如下所示:

ReadXml类

package com.xmlread.cn;
/*** * @author 李钦弘* @description 读取xml的java类*/
import java.io.File;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class ReadXml {protected static void readText() {//1.获得DocumentSAXReader saxReader = new SAXReader();Document document = null;try {document = saxReader.read(new File("src/com/xmltext/cn/2.xml"));} catch (DocumentException e) {e.printStackTrace();}//2.获得根节点Element rootElement = document.getRootElement();//3.节点导航Element e_info = rootElement.element("element-information");//3.1节点导航Element d_info = rootElement.element("deagnostic-information");//4.封装属性值PatientBean p = new PatientBean();p.setApartment(e_info.elementText("kesi"));p.setVisittime(e_info.elementText("time"));p.setP_name(e_info.elementText("name"));p.setP_gender(e_info.elementText("sex"));p.setP_age(e_info.elementText("age"));p.setP_tel(e_info.elementText("phone"));p.setP_ID(e_info.elementText("id"));p.setP_addr(e_info.elementText("address"));p.setP_zhushu(d_info.elementText("main-suit"));p.setP_sizhen(d_info.elementText("four-diagnostic"));p.setP_clinical_diagnosis(d_info.elementText("clinical-diagnostic"));p.setP_syndrome(d_info.elementText("zhengxing"));p.setP_history_allergy(d_info.elementText("drug-allergy"));p.setP_treatmethod(d_info.elementText("therapy"));p.setP_location_disease(d_info.elementText("bingwei"));p.setP_nature_disease(d_info.elementText("bingxing"));p.setP_chinese_medicine(rootElement.elementText("prescription"));try {Conndb.insertData(p);} catch (Exception e) {e.printStackTrace();}System.out.println(p.toString());}}

PatientBean类

package com.xmlread.cn;
/*** * @author 李钦弘* @description 电子病历实体*/
public class PatientBean {/*** 科室*/private String apartment;/*** 就诊时间*/private String visittime;/*** 姓名*/private String p_name;/*** 性别*/private String p_gender;/*** 年龄*/private String p_age;/*** 联系电话*/private String p_tel;/*** 身份证号*/private String p_ID;/*** 家庭住址*/private String p_addr;/*** 主诉*/private String p_zhushu;/*** 四诊信息*/private String p_sizhen;/*** 临床诊断*/private String p_clinical_diagnosis;/*** 证型*/private String p_syndrome;/*** 药物过敏史*/private String p_history_allergy;/*** 治法*/private String p_treatmethod;/*** 病位*/private String p_location_disease;/*** 病性*/private String p_nature_disease;/*** 中药处方*/private String p_chinese_medicine;public String getApartment() {return apartment;}public void setApartment(String apartment) {this.apartment = apartment;}public String getVisittime() {return visittime;}public void setVisittime(String visittime) {this.visittime = visittime;}public String getP_name() {return p_name;}public void setP_name(String p_name) {this.p_name = p_name;}public String getP_gender() {return p_gender;}public void setP_gender(String p_gender) {this.p_gender = p_gender;}public String getP_age() {return p_age;}public void setP_age(String p_age) {this.p_age = p_age;}public String getP_tel() {return p_tel;}public void setP_tel(String p_tel) {this.p_tel = p_tel;}public String getP_ID() {return p_ID;}public void setP_ID(String p_ID) {this.p_ID = p_ID;}public String getP_addr() {return p_addr;}public void setP_addr(String p_addr) {this.p_addr = p_addr;}public String getP_zhushu() {return p_zhushu;}public void setP_zhushu(String p_zhushu) {this.p_zhushu = p_zhushu;}public String getP_sizhen() {return p_sizhen;}public void setP_sizhen(String p_sizhen) {this.p_sizhen = p_sizhen;}public String getP_clinical_diagnosis() {return p_clinical_diagnosis;}public void setP_clinical_diagnosis(String p_clinical_diagnosis) {this.p_clinical_diagnosis = p_clinical_diagnosis;}public String getP_syndrome() {return p_syndrome;}public void setP_syndrome(String p_syndrome) {this.p_syndrome = p_syndrome;}public String getP_history_allergy() {return p_history_allergy;}public void setP_history_allergy(String p_history_allergy) {this.p_history_allergy = p_history_allergy;}public String getP_treatmethod() {return p_treatmethod;}public void setP_treatmethod(String p_treatmethod) {this.p_treatmethod = p_treatmethod;}public String getP_location_disease() {return p_location_disease;}public void setP_location_disease(String p_location_disease) {this.p_location_disease = p_location_disease;}public String getP_nature_disease() {return p_nature_disease;}public void setP_nature_disease(String p_nature_disease) {this.p_nature_disease = p_nature_disease;}public String getP_chinese_medicine() {return p_chinese_medicine;}public void setP_chinese_medicine(String p_chinese_medicine) {this.p_chinese_medicine = p_chinese_medicine;}@Overridepublic String toString() {return "patientBean [apartment=" + apartment + ", visittime=" + visittime + ", p_name=" + p_name + ", p_gender="+ p_gender + ", p_age=" + p_age + ", p_tel=" + p_tel + ", p_ID=" + p_ID + ", p_addr=" + p_addr+ ", p_zhushu=" + p_zhushu + ", p_sizhen=" + p_sizhen + ", p_clinical_diagnosis=" + p_clinical_diagnosis+ ", p_syndrome=" + p_syndrome + ", p_history_allergy=" + p_history_allergy + ", p_treatmethod="+ p_treatmethod + ", p_location_disease=" + p_location_disease + ", p_nature_disease="+ p_nature_disease + ", p_chinese_medicine=" + p_chinese_medicine + "]";}}

Conndb类

package com.xmlread.cn;
/*** * @author 李钦弘* @description 连接数据库的java类*/
import java.sql.DriverManager;
import java.sql.SQLException;import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;public class Conndb {protected static void  insertData(PatientBean rx) throws ClassNotFoundException, SQLException {// 1.加载驱动Class.forName("com.mysql.jdbc.Driver");// 2.获取Connection对象取Connection con = (Connection) DriverManager.getConnection("jdbc:mysql:///表所在数据库名","你的数据库登录名", "登录密码");// 3.获取Statement对象Statement st = (Statement) con.createStatement();// 4.添加操作String sql = "insert into patientdata(apartment,visittime,p_name,"+ "p_gender,p_age,p_tel,"+ "p_ID,p_addr,p_zhushu,"+ "p_sizhen,p_clinical_diagnosis,p_syndrome,"+ "p_history_allergy,p_treatmethod,p_location_disease,"+ "p_nature_disease,p_chinese_medicine) values('"+rx.getApartment()+"','"+rx.getVisittime()+"','"+rx.getP_name()+"',"+ "'"+rx.getP_gender()+"','"+rx.getP_age()+"',"+ "'"+rx.getP_tel()+"','"+rx.getP_ID()+"','"+rx.getP_addr()+"',"+ "'"+rx.getP_zhushu()+"','"+rx.getP_sizhen()+"','"+rx.getP_clinical_diagnosis()+"',"+ "'"+rx.getP_syndrome()+"','"+rx.getP_history_allergy()+"','"+rx.getP_treatmethod()+"',"+ "'"+rx.getP_location_disease()+"','"+rx.getP_nature_disease()+"','"+rx.getP_chinese_medicine()+"')";int row = st.executeUpdate(sql);if (row != 0) {System.out.println("添加成功");}// 5.关闭资源st.close();con.close();}}
表所在数据库名","你的数据库登录名", "登录密码");// 3.获取Statement对象Statement st = (Statement) con.createStatement();// 4.添加操作String sql = "insert into patientdata(apartment,visittime,p_name,"+ "p_gender,p_age,p_tel,"+ "p_ID,p_addr,p_zhushu,"+ "p_sizhen,p_clinical_diagnosis,p_syndrome,"+ "p_history_allergy,p_treatmethod,p_location_disease,"+ "p_nature_disease,p_chinese_medicine) values('"+rx.getApartment()+"','"+rx.getVisittime()+"','"+rx.getP_name()+"',"+ "'"+rx.getP_gender()+"','"+rx.getP_age()+"',"+ "'"+rx.getP_tel()+"','"+rx.getP_ID()+"','"+rx.getP_addr()+"',"+ "'"+rx.getP_zhushu()+"','"+rx.getP_sizhen()+"','"+rx.getP_clinical_diagnosis()+"',"+ "'"+rx.getP_syndrome()+"','"+rx.getP_history_allergy()+"','"+rx.getP_treatmethod()+"',"+ "'"+rx.getP_location_disease()+"','"+rx.getP_nature_disease()+"','"+rx.getP_chinese_medicine()+"')";int row = st.executeUpdate(sql);if (row != 0) {System.out.println("添加成功");}// 5.关闭资源st.close();con.close();}}

MainClass类

package com.xmlread.cn;
/*** * @author 李钦弘* @description 开始执行的主类*/
public class MainClass {
public static void main(String[] args) {ReadXml.readText();}
}

控制台输出结果:

数据库表数据:

5.总结

以上就是整个实验的解答过程,快速完成了老师布置的试验任务,解答思路也得到了老师的表扬,为此,留作纪念。

6.题外话

这是学生第一次使用CSDN发表博客,自己喜欢应用编程也有两三年了,实在羞愧。

中医门诊电子病历xml文档数据读入数据库实验流程演示相关推荐

  1. 国家发布电子病历共享文档规范

    国家发布电子病历共享文档规范 发布人:系统管理员 发布日期:2016-09-21 点击:437 次 近日,国家卫生计生委发布<电子病历共享文档规范><电子病历与医院信息平台标准符合性 ...

  2. 大型三甲医院云HIS系统源码 强大的电子病历+完整文档

    医院HIS系统源码云HIS系统:SaaS运维平台+多医院入驻+强大的电子病历+完整文档 有源码,有演示 一.系统概述 Ø 采用主流成熟技术,软件结构简洁.代码规范易阅读,SaaS应用,全浏览器访问前后 ...

  3. XML——生成 XML 文档(读入 XML的反向过程)

    [0]README 0.1) 本文文字描述转自 core java volume 2 , 旨在理解 XML--生成 XML 文档(读入 XML的反向过程) 的基础知识 : 0.2) for sourc ...

  4. [FLASH IDE] [教程]Flash处理外部XML文档数据详细教程[ASP,JSP]

    准备: 首先你得有台电脑.其次是要装上Windows系统和Flash8. XML基础: 既然是处理XML文档.就要先来了解下XML文档.下面是我所了解的,有些是在Flash中用不到的. XML扩展标记 ...

  5. Flash处理外部XML文档数据详细教程

    准备: 首先你得有台电脑.其次是要装上Windows系统和Flash8. XML基础: 既然是处理XML文档.就要先来了解下XML文档.下面是我所了解的,有些是在Flash中用不到的. XML扩展标记 ...

  6. Flash处理XML文档数据教程

    Flash处理XML文档数据教程 作者:chooseflash 时间: 2007-05-11 文档类型:原创 来自:蓝色理想 准备:首先你得有台电脑,其次是要装上Windows系统和Flash8. X ...

  7. XML文档类型定义DTD

    DTD概述 DTD用来定义XML文档的结构,它包含一系列规则说明,以确保XML文档的一致性和有效性 DTD定义了XML文档可用的词汇(元素和属性的名称)和结构: 元素名称,包括根元素 元素的属性及属性 ...

  8. XML文档定义有几种方式?它们之间有何本质区别?解析XML文档有哪几种方式?

    XML文档定义方式:有两种定义形式,dtd文档类型定义和schema模式 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的) 普通区别: 1.s ...

  9. 利用XSL和ASP在线编辑XML文档

    本文通过一个详细的例子,来阐述了在线编辑XML文档数据的方法.由于Netscape对XML的支持比较弱,因此,要实现跨平台的数据交换,数据的处理必须在服务器端进行.要编辑XML文档,首先要做的事情就是 ...

最新文章

  1. daily scrum 12.1
  2. 机器学习算法加强——回归实践
  3. 获得WebBrowser中的图片数据
  4. ABAP OO小例子
  5. 「后端小伙伴来学前端了」Vue中 this.$set的用法 | 可用于修改对象中数组的某一个对象、 可用于更新数据到视图
  6. c语言将一个已知头结点的单链表逆序_C语言实现常用数据结构:静态链表数组实现(第5篇)...
  7. pytorch中的squeeze和unsqueeze
  8. 微软开始测试自己的Google Base
  9. 练手级计算机,快来打怪
  10. 14个非常有用的jquery技巧,注意事项和最佳实践
  11. EXCEL:单元格内换行符的ASC码值
  12. 计算机域 用户怎么设置,电脑怎么加域设置
  13. Android | Tangram动态页面之路(七)硬核的Virtualview
  14. Android Startup实现分析
  15. 关于innerText和value的区别 2020-10-21
  16. 【论文笔记——DIM】Learning Deep Representations By Mutual Information Estimation and Maximization
  17. 实践练习二(必选):手动部署 OceanBase 单副本集群
  18. 小升初数学暑假班招生中
  19. 在安卓项目中使用gifsicle编辑GIF动图-Android NDK 编译 gifsicle 为可执行文件记录
  20. 3-15岁孩子英文学习网站

热门文章

  1. Ui自动化概念+Web自动化测试框架介绍
  2. java mp4 视频时间戳_如何在MP4视频文件上批量修改时间戳记元数据
  3. Oracle项目管理系统之概算模板
  4. 数字后端基本概念介绍——Track
  5. 高德地图货车路径规划JS API以及WEB API在VUE中使用方法
  6. 蛋白质结构预测(swiss-model,modeller )
  7. 8种新年烟花摄影调色luts预设
  8. Ubuntu QQ2009
  9. Cursor对象详解:
  10. linux下电信拨号器