J2EE课程设计实训项目《社区医疗信息管理系统》——构建出项目的数据库系统及用户信息相关的数据库表结构

合集下载

J2EE 课程设计项目——社区信息管理系统——在项目的表示层组件中实现Web表单验证等功能

J2EE 课程设计项目——社区信息管理系统——在项目的表示层组件中实现Web表单验证等功能

在项目的表示层组件中实现Web表单验证等功能1.1.1应用validator.js验证模板组件1、使用方法(1)在页面中引用validator.js<script language="javascript" type="text/javascript" src="../../javascript/commonFunction.js"charset="gbk" ></script>(2)在需要验证的表单<form>标签中加上onSubmit="return Validator.Validate(this,3)"。

<form name="theForm" id="demo" method="get" onSubmit="return Validator.Validate(this,3)"> </ form>其中的Validate函数有两个可选的参数,第一个参数为表单对象,如果是写在表单的onSubmit事件中,可以用this指代当前表单,默认值为事件源对象;第二个参数为错误提示模式,可选值为1,2和3,默认值为1。

省略第二个参数时相当于使用Validate(objform,1),省略第一个参数时相当于Validate(this,1)。

注意,不可以省略第一个参数而只写第二个参数,Validate(,2)是错误的用法。

(3)在表单的数据输入标签中加入dataType="数据类型"和msg="错误提示信息"如下示例:<input name="Card" dataType="IdCard" msg="身份证号错误">其中的msg代表在验证失败时要提示的出错信息,为字符串,必选的数据。

J2EE课程设计《社区医疗信息管理系统》——在项目中应用Struts2的拦截器实现对用户访问状态进行拦截和控制

J2EE课程设计《社区医疗信息管理系统》——在项目中应用Struts2的拦截器实现对用户访问状态进行拦截和控制

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——在项目中应用Struts2的拦截器实现对用户访问状态进行拦截和控制1.1.1在项目中应用Struts2的拦截器实现对用户访问状态进行拦截和控制1、在项目中添加UserInfoInterceptor拦截器package com.px1987.sshchims.interceptor;import java.util.Map;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import erInfoActionForm;public class UserInfoInterceptor extends AbstractInterceptor {public UserInfoInterceptor() {}@Overridepublic String intercept(ActionInvocation oneActionInvocation) throws Exception { Map session = oneActionInvocation.getInvocationContext().getSession();UserInfoActionForm oneUserInfo = (UserInfoActionForm)session.get("oneUserInfo");if(oneUserInfo==null){return "login";}String returnResult = oneActionInvocation.invoke();return returnResult;}}注意:最好将拦截器设计为“方法过滤”类型的拦截器2、在struts.xml中“定义”和“引用”该拦截器(1)定义该拦截器<interceptors><interceptor name="userinfoInterceptor"class="erInfoInterceptor"/> </interceptors>(2)引用该拦截器<action name ="medicalInfoAction"class ="medicalInfoActionBean" ><interceptor-ref name="userinfoInterceptor"></interceptor-ref><interceptor-ref name="defaultStack"/><result name="success">/medicalInf/index.jsp</result><result name="goQueryMedicalInfo">/medicalInf/queryMedicalInfo.jsp</result><result name="input">/medicalInf/queryMedicalInfo.jsp</result><result name="goStatistMedicalInfo">/medicalInf/statistMedicalInfo</result><result name="goPrintMedicalInfo">/medicalInf/printMedicalInfo.jsp</result><result name="goShowQueryResultInfo">/medicalInf/queryMedicalInfo.jsp</result></action>(3)定义一个名称为login的结果(本例设计为全局结果)<global-results><result name="error">/errorDeal/showWebAppError.jsp</result><result name="login">/index.jsp</result></global-results>3、测试该拦截器的效果(1)没有进行系统登录就直接访问目标页面http://127.0.0.1:8080/sshchims/medicalInfoAction!goQueryMedicalInfo.action系统将进行拦截,并自动地跳转下面的登录页面中。

《社区医疗信息管理系统》——实现分页查询中的修改、删除和批量删除老年人档案信息的功能模块(第2部分)

《社区医疗信息管理系统》——实现分页查询中的修改、删除和批量删除老年人档案信息的功能模块(第2部分)

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——实现分页查询中的修改、删除和批量删除老年人档案信息的功能模块(第2/2部分)1.1.1实现分页查询中的修改、删除和批量删除老年人档案信息的功能模块3、设计和实现Servlet程序中相关的功能方法package com.px1987.sshchims.action;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.UUID;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action;import com.px1987.sshchims.actionform.OlderFilesActionForm;import com.px1987.sshchims.actionform.OlderFilesActionFormUtil;import com.px1987.sshchims.dao.imple.OlderFilesDAOImple;import com.px1987.sshchims.dao.inter.OlderFilesDAOInterface;import com.px1987.sshchims.dao.po.ChildrenFilesPO;import com.px1987.sshchims.dao.po.OlderFilesPO;import com.px1987.sshchims.dao.po.PageStatePO;import com.px1987.sshchims.exception.CHIMSException;public class OlderFilesManageAction extends HttpServlet {private static final long serialVersionUID = 1L;public OlderFilesManageAction() {super();}public void destroy() {super.destroy();}public void init() throws ServletException {}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doActionService(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {/*** 对Post请求中的中文信息进行转码*/request.setCharacterEncoding("gb2312");/*** 然后再对“中央控制器调度”调用*/doActionService(request, response);}/*** 下面的doActionService方法为get/post的请求的“中央控制器调度”*/public void doActionService(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/**中央控制器调度方法代码在此省略*/}/*** 下面的方法是响应分页显示的结果页面中的批量删除老年人档案信息* @param request* @param response* @param currentOlderFilesActionForm* @throws ServletException* @throws IOException*/public void doBatchDeleteOlderFileInfoAction(HttpServletRequest request, HttpServletResponse response,OlderFilesActionForm currentOlderFilesActionForm)throws ServletException, IOException {RequestDispatcher currentRequestDispatcher=null;/*** 获得所选中的待删除的老年人档案信息的编号,并识别是否选择了任何的档案编号*/String deleteFileIDs[]=currentOlderFilesActionForm.getDeleteFileIDs();if((deleteFileIDs==null)||(deleteFileIDs.length==0)){/*** 跳转到错误信息显示的页面中去显示错误信息*/request.setAttribute("errorText", "你没有选择任何要删除的档案编号,请选择待删除的档案编号!");currentRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp");currentRequestDispatcher.forward(request, response);return;}/*** 将保存在数组中的各个待删除的档案编号转存到Set集合中*/Set<String> deleteFilesIDs=new HashSet<String>();for(int loopIndex=0; loopIndex <deleteFileIDs.length; loopIndex++){ deleteFilesIDs.add(deleteFileIDs[loopIndex]);}/*** 构建实现老年人档案信息存储的DAO组件对象*/OlderFilesDAOInterface oneOlderFilesDAOImple=null; oneOlderFilesDAOImple=new OlderFilesDAOImple();/*** 对DAO组件类中的批量删除的方法进行调用,完成最终的批量删除功能*/try {oneOlderFilesDAOImple.deleteSomeOlderFileInfo(deleteFilesIDs);} catch (CHIMSException e) {e.printStackTrace();}/*** 再进行分页查询删除后的数据库表,并获得相关的数据*/PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 由于是分页状态下的批量删除,因此需要从表单对象中获得当前的显示页码*/onePageStatePO.setCurrentPageNumber(currentOlderFilesActionForm.getCurrentPageNum ber());onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 对DAO组件对象内的目标方法进行调用,并获得相关的返回结果的集合数据*/List<OlderFilesPO> returnAllOlderFilesPOResult=null;try {returnAllOlderFilesPOResult=oneOlderFilesDAOImple.dividPageQueryOlderFileInfo(query SQLWhere, onePageStatePO);} catch (CHIMSException e) {e.printStackTrace();}/*** 识别返回的结果集合中是否存在有效的数据*/boolean returnResultStatus=true;if((returnAllOlderFilesPOResult==null)||(returnAllOlderFilesPOResult.size()==0)){ returnResultStatus=false;}else{returnResultStatus=true;}/*** 识别处理(保存)的操作结果状态,并分别进行跳转*/if(returnResultStatus){request.setAttribute("olderFilesPOList", returnAllOlderFilesPOResult);/*** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);/*** 跳转到目标页面中去显示查询的结果数据*/currentRequestDispatcher=request.getRequestDispatcher("/mainMenuThree/dividPageShow QueryResult.jsp");}else{request.setAttribute("errorText", "系统在查询老年人档案信息时出现了错误,请重新查询老年人的档案信息!");currentRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp ");}currentRequestDispatcher.forward(request, response);}/*** 下面的方法是响应删除单个老年人的档案信息* @param request* @param response* @param currentOlderFilesActionForm* @throws ServletException* @throws IOException*/public void doOnLineDeleteOneOlderFileInfoAction(HttpServletRequest request, HttpServletResponse response,OlderFilesActionForm currentOlderFilesActionForm)throws ServletException, IOException {/*** 构建实现老年人档案信息存储的DAO组件对象*/OlderFilesDAOInterface oneOlderFilesDAOImple=null;oneOlderFilesDAOImple=new OlderFilesDAOImple();/*** 通过调用DAO组件中的相关的删除方法实现删除功能*/try {oneOlderFilesDAOImple.deleteOneOlderFileInfo(currentOlderFilesActionForm.getFilesID() );} catch (CHIMSException e) {e.printStackTrace();}/*** 再进行分页查询删除后的数据库表,并获得相关的数据*/PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 由于是分页状态下的删除,因此需要从表单对象中获得当前的显示页码*/onePageStatePO.setCurrentPageNumber(currentOlderFilesActionForm.getCurrentPageNum ber());onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 对DAO组件对象内的目标方法进行调用,并获得相关的返回结果的集合数据*/List<OlderFilesPO> returnAllOlderFilesPOResult=null;try {returnAllOlderFilesPOResult=oneOlderFilesDAOImple.dividPageQueryOlderFileInfo(querySQLWhere, onePageStatePO);} catch (CHIMSException e) {e.printStackTrace();}/*** 识别返回的结果集合中是否存在有效的数据*/boolean returnResultStatus=true;if((returnAllOlderFilesPOResult==null)||(returnAllOlderFilesPOResult.size()==0)){ returnResultStatus=false;}else{returnResultStatus=true;}RequestDispatcher currentRequestDispatcher=null;/*** 识别处理(保存)的操作结果状态,并分别进行跳转*/if(returnResultStatus){request.setAttribute("olderFilesPOList", returnAllOlderFilesPOResult);/*** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);/*** 跳转到目标页面中去显示查询的结果数据*/currentRequestDispatcher=request.getRequestDispatcher("/mainMenuThree/dividPageShow QueryResult.jsp");}else{request.setAttribute("errorText", "系统在查询老年人档案信息时出现了错误,请重新查询老年人的档案信息!");currentRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp ");}currentRequestDispatcher.forward(request, response);}/*** 下面的方法是响应“修改”链接按钮的点击事件* @param request* @param response* @param currentOlderFilesActionForm* @throws ServletException* @throws IOException*/public void doOnLineUpdateOneOlderFileInfosAction(HttpServletRequest request, HttpServletResponse response,OlderFilesActionForm currentOlderFilesActionForm)throws ServletException, IOException {/*** 解决get提交的中文乱码*/String olderName=currentOlderFilesActionForm.getOlderName();if(olderName!=null){try {olderName=new String(olderName.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setOlderName(olderName);}String homeAddress=currentOlderFilesActionForm.getHomeAddress();if(homeAddress!=null){try {homeAddress=new String(homeAddress.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setHomeAddress(homeAddress);}String workUnitName=currentOlderFilesActionForm.getWorkUnitName();if(workUnitName!=null){try {workUnitName=new String(workUnitName.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setWorkUnitName(workUnitName);}String nation=currentOlderFilesActionForm.getNation();if(nation!=null){try {nation=new String(nation.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setNation(nation);}String occupational=currentOlderFilesActionForm.getOccupational();if(occupational!=null){try {occupational=new String(occupational.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setOccupational(occupational);}String bloodGroup=currentOlderFilesActionForm.getBloodGroup();if(bloodGroup!=null){try {bloodGroup=new String(bloodGroup.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setBloodGroup(bloodGroup);}String healthProblems=currentOlderFilesActionForm.getHealthProblems();if(healthProblems!=null){try {healthProblems=newString(healthProblems.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setBloodGroup(healthProblems);}String diseaseProcessTable=currentOlderFilesActionForm.getDiseaseProcessTable();if(diseaseProcessTable!=null){try {diseaseProcessTable=new String(diseaseProcessTable.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setDiseaseProcessTable(diseaseProcessTable);}String healthCounseling=currentOlderFilesActionForm.getHealthCounseling();if(healthCounseling!=null){try {healthCounseling=new String(healthCounseling.getBytes("ISO8859-1"),"GB2312");} catch (UnsupportedEncodingException e) {e.printStackTrace();}currentOlderFilesActionForm.setHealthCounseling(healthCounseling);}PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 由于是分页状态下的修改,因此需要从表单对象中获得当前的显示页码*/onePageStatePO.setCurrentPageNumber(currentOlderFilesActionForm.getCurrentPageNum ber());onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);request.setAttribute("updatedOlderFilesPO",OlderFilesActionFormUtil.saveOlderActionFormToPO(currentOlderFilesActionForm));/*** 跳转到目标修改页面中*/RequestDispatcher currentRequestDispatcher=null;currentRequestDispatcher=request.getRequestDispatcher("/mainMenuThree/updateFileInfo.j sp");currentRequestDispatcher.forward(request, response);}/*** 下面的方法是响应“修改表单”中的“提交”按钮的点击事件* @param request* @param response* @param currentOlderFilesActionForm* @throws ServletException* @throws IOException*/public void doUpdateOlderFilesFormAction(HttpServletRequest request, HttpServletResponse response,OlderFilesActionForm currentOlderFilesActionForm) throws ServletException, IOException {/*** 将ActionForm组件转存到PO对象中*/OlderFilesPO oneOlderFilesPO=OlderFilesActionFormUtil.saveOlderActionFormToPO(currentOlderFilesActionForm);/*** 构建实现老年人档案信息存储的DAO组件对象*/OlderFilesDAOInterface oneOlderFilesDAOImple=null;oneOlderFilesDAOImple=new OlderFilesDAOImple();/*** 通过调用DAO组件中的相关的修改方法实现修改功能*/try {oneOlderFilesDAOImple.updateOneOlderFileInfo(oneOlderFilesPO);} catch (CHIMSException e) {e.printStackTrace();}/*** 再进行分页查询删除后的数据库表,并获得相关的数据*/PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 由于是分页状态下的删除,因此需要从表单对象中获得当前的显示页码*/onePageStatePO.setCurrentPageNumber(currentOlderFilesActionForm.getCurrentPageNumber() );onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 对DAO组件对象内的目标方法进行调用,并获得相关的返回结果的集合数据*/List<OlderFilesPO> returnAllOlderFilesPOResult=null;try {returnAllOlderFilesPOResult=oneOlderFilesDAOImple.dividPageQueryOlderFileInfo(query SQLWhere, onePageStatePO);} catch (CHIMSException e) {e.printStackTrace();}/*** 识别返回的结果集合中是否存在有效的数据*/boolean returnResultStatus=true;if((returnAllOlderFilesPOResult==null)||(returnAllOlderFilesPOResult.size()==0)){ returnResultStatus=false;}else{returnResultStatus=true;}RequestDispatcher currentRequestDispatcher=null;/*** 识别处理(保存)的操作结果状态,并分别进行跳转*/if(returnResultStatus){request.setAttribute("olderFilesPOList", returnAllOlderFilesPOResult);/*** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);/*** 跳转到目标页面中去显示查询的结果数据*/currentRequestDispatcher=request.getRequestDispatcher("/mainMenuThree/dividPageShow QueryResult.jsp");}else{request.setAttribute("errorText", "系统在查询老年人档案信息时出现了错误,请重新查询老年人的档案信息!");currentRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp ");}currentRequestDispatcher.forward(request, response);}/*** 下面的方法实现恢复老年人档案的信息* @param request* @param response* @param currentOlderFilesActionForm* @throws ServletException* @throws IOException*/public void doRestoreOlderFileInfoAction(HttpServletRequest request, HttpServletResponse response,OlderFilesActionForm currentOlderFilesActionForm)throws ServletException, IOException {PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 由于是第一次访问,因此获得第一页的数据*/onePageStatePO.setCurrentPageNumber(firstPageNumber);onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 定义查询待恢复的档案信息的HQL的查询条件*/restoreDeletedFilesSQLWhere=" where deleteFlag=0";/*** 构建实现老年人档案信息存储的DAO组件对象*/OlderFilesDAOInterface oneOlderFilesDAOImple=null; oneOlderFilesDAOImple=new OlderFilesDAOImple();/*** 对DAO类中的查询方法进行调用*/List<OlderFilesPO> returnAllOlderFilesPOResult=null;try {returnAllOlderFilesPOResult=oneOlderFilesDAOImple.dividPageQueryOlderFileInfo(restoreDeletedFilesSQLWhere,onePageStatePO);} catch (CHIMSException e) {e.printStackTrace();}/*** 识别返回的结果集合中是否存在有效的数据*/boolean returnResultStatus=true;if((returnAllOlderFilesPOResult==null)||(returnAllOlderFilesPOResult.size()==0)){ returnResultStatus=false;}else{returnResultStatus=true;}RequestDispatcher currentRequestDispatcher=null;/*** 识别处理(保存)的操作结果状态,并分别进行跳转*/if(returnResultStatus){request.setAttribute("deletedOlderFilesPOList", returnAllOlderFilesPOResult);/*** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);/*** 跳转到目标页面中去显示查询的结果数据*/currentRequestDispatcher=request.getRequestDispatcher("/mainMenuThree/restoreDeleteFil eInfosResult.jsp");}else{request.setAttribute("errorText", "系统在查询删除的老年人档案信息时出现了错误或者没有找到相关的数据!");currentRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp ");}currentRequestDispatcher.forward(request, response);}/*** 下面的方法实现恢复所选中的各个删除的老年人信息的请求响应方法* @param request* @param response* @param currentOlderFilesActionForm* @throws ServletException* @throws IOException*/public void doBatchRestoreOlderFileInfoAction(HttpServletRequest request, HttpServletResponse response,OlderFilesActionForm currentOlderFilesActionForm)throws ServletException, IOException {RequestDispatcher currentRequestDispatcher=null;/*** 获得所选中的待恢复的老年人档案信息的编号,并识别是否选择了任何的档案编号*/String restoreFileIDs[]=currentOlderFilesActionForm.getRestoreFileIDs();if((restoreFileIDs==null)||(restoreFileIDs.length==0)){/*** 跳转到错误信息显示的页面中去显示错误信息*/request.setAttribute("errorText", "你没有选择任何要恢复的档案编号,请选择待恢复的档案编号!");currentRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp ");currentRequestDispatcher.forward(request, response);return;}/*** 将保存在数组中的各个待恢复的档案编号转存到Set集合中*/Set<String> restoringFileIDs=new HashSet<String>();for(int loopIndex=0; loopIndex <restoreFileIDs.length; loopIndex++){restoringFileIDs.add(restoreFileIDs[loopIndex]);}/*** 构建实现老年人档案信息存储的DAO组件对象*/OlderFilesDAOInterface oneOlderFilesDAOImple=null;oneOlderFilesDAOImple=new OlderFilesDAOImple();/*** 对DAO组件类中的批量恢复的方法进行调用,完成最终的批量恢复功能*/try {oneOlderFilesDAOImple.restoreSomeOlderFileInfo(restoringFileIDs);} catch (CHIMSException e) {e.printStackTrace();}/*** 构建恢复数据后的分页查询的状态对象*/PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 从表单对象中获得当前的显示页码*/onePageStatePO.setCurrentPageNumber(currentOlderFilesActionForm.getCurrentPageNum ber());onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 再查询恢复后的数据库表,并获得没有进行恢复的相关数据(也就是已经删除的数据)。

J2EE课程设计实训项目《社区医疗信息管理系统》——实现新生儿档案信息的Hibernate框架的DAO数据访问组件

J2EE课程设计实训项目《社区医疗信息管理系统》——实现新生儿档案信息的Hibernate框架的DAO数据访问组件

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——实现系统中新生儿档案信息的Hibernate框架的DAO数据访问组件1、映射封装新生儿档案信息的PO实体类和数据库表(1)在项目中添加ChildrenFilesPO.hbm.xml(2)设计该映射文件<?xml version="1.0"?><!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.px1987.sshchims.dao.po.ChildrenFilesPO" table="childrenfiles"> <id name="filesID"><generator class="uuid.hex" /></id><property name="childName" /><property name="motherName" /><property name="childSex" /><property name="birthDay" /><property name="homeAddress" /><property name="telphoneNo" /><property name="deleteFlag" /></class></hibernate-mapping>(3)在hibernate.cfg.xml文件中引用连接该映射文件<mapping resource="ChildrenFilesPO.hbm.xml" />(4)测试ChildrenFilesPO.hbm.xml文件中的映射配置是否正确4、设计相关的DAO接口和对应的接口(1)DAO接口接口名称为ChildrenFilesDAOInterface,包名称为com.px1987.sshchims.dao.inter(2)设计该接口package com.px1987.sshchims.dao.inter;import java.util.List;import java.util.Set;import com.px1987.sshchims.dao.po.ChildrenFilesPO;import com.px1987.sshchims.dao.po.PageStatePO;public interface ChildrenFilesDAOInterface {/*** (1)增加数据*/public boolean addOneChildrenFileInfo(ChildrenFilesPO oneChildrenFileInfo);/*** (2)删除*/public boolean deleteOneChildrenFileInfo(String deleteFilesID);public boolean deleteSomeChildrenFileInfo(Set<String> deleteFilesIDs);/*** (3)修改*/public boolean updateOneChildrenFileInfo(ChildrenFilesPO oneChildrenFileInfo);/*** (4)查询*/public ChildrenFilesPO queryOneChildrenFileInfo(String filesID);public List<ChildrenFilesPO> querySomeChildrenFileInfo(String querySQL);public List<ChildrenFilesPO> queryAllChildrenFileInfo();/*** 分页查询*/public List<ChildrenFilesPO> dividPageQueryChildrenFileInfo(String queryHQLWhere,PageStatePO onePageStatePO);/*** 恢复已删除的数据*/public boolean restoreSomeChildrenFileInfo(Set<String> restoreFilesIDs);}5、设计相关的DAO接口和对应的接口的实现类(1)DAO接口的实现类——应用Spring 的模板类实现数据访问类名称为ChildrenFilesDAOImple,包名称为com.px1987.sshchims.dao.imple,并实现com.px1987.sshchims.dao.inter.ChildrenFilesDAOInterface接口,并继承org.springframework.orm.hibernate3.support.HibernateDaoSupport类(2)在DAO类中定义一个LocalSessionFactoryBean的成员属性private LocalSessionFactoryBean sessionFactory;public void setSessionFactory(LocalSessionFactoryBean sessionFactory) { this.sessionFactory = sessionFactory;}(3)编程该实现类中的相关方法package com.px1987.sshchims.dao.imple;import java.util.Iterator;import java.util.List;import java.util.Set;import org.hibernate.Query;import org.hibernate.Session;import org.springframework.orm.hibernate3.HibernateTemplate;import org.springframework.orm.hibernate3.LocalSessionFactoryBean; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.px1987.sshchims.dao.inter.ChildrenFilesDAOInterface;import com.px1987.sshchims.dao.po.ChildrenFilesPO;import com.px1987.sshchims.dao.po.PageStatePO;public class ChildrenFilesDAOImple extends HibernateDaoSupport implementsChildrenFilesDAOInterface {/*** 下面的sessionFactory是提供给HibernateDaoSupport基类中的getHibernateTemplate 方法*/private LocalSessionFactoryBean sessionFactory;private HibernateTemplate currentHibernateTemplate=null;public void setSessionFactory(LocalSessionFactoryBean sessionFactory) {this.sessionFactory = sessionFactory;}public ChildrenFilesDAOImple() {super();}@Overridepublic boolean addOneChildrenFileInfo(ChildrenFilesPO oneChildrenFileInfo) { currentHibernateTemplate=this.getHibernateTemplate();currentHibernateTemplate.save(oneChildrenFileInfo);return true;}@Overridepublic boolean deleteOneChildrenFileInfo(String filesID) {currentHibernateTemplate=this.getHibernateTemplate();/**ChildrenFilesPO deletedChildrenFilesPO=currentHibernateTemplate.get(ChildrenFilesPO.class, filesID);deletedChildrenFilesPO.setDeleteFlag(0);currentHibernateTemplate.update(deletedChildrenFilesPO);*//**String updateHQL="update com.px1987.sshchims.dao.po.ChildrenFilesPO set deleteFlag=0 where filesID='" +filesID+"'";currentHibernateTemplate.bulkUpdate(updateHQL);*/String updateHQL="update com.px1987.sshchims.dao.po.ChildrenFilesPO set deleteFlag=0 where filesID=?";Object paraValues[]={filesID};currentHibernateTemplate.bulkUpdate(updateHQL, paraValues);return true;}@Overridepublic boolean deleteSomeChildrenFileInfo(Set<String> deleteFilesIDs) {currentHibernateTemplate=this.getHibernateTemplate();String deleteUpdateHQL="update com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO "+"set oneChildrenFilesPO.deleteFlag=0 where oneChildrenFilesPO.filesID=?";/*** bulkUpdate的批量修改行为其实也还是一条一条语句的修改*/Iterator<String> allDeletedFileID=deleteFilesIDs.iterator();while(allDeletedFileID.hasNext()){String oneDeletedFileID=allDeletedFileID.next();currentHibernateTemplate.bulkUpdate(deleteUpdateHQL, oneDeletedFileID);}return true;}@Overridepublic boolean restoreSomeChildrenFileInfo(Set<String> restoreFilesIDs){currentHibernateTemplate=this.getHibernateTemplate();String restoreUpdateHQL="update com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO "+"set oneChildrenFilesPO.deleteFlag=1 where oneChildrenFilesPO.filesID=?";/*** bulkUpdate的批量修改行为其实也还是一条一条语句的修改*/Iterator<String> allREstoreFileID=restoreFilesIDs.iterator();while(allREstoreFileID.hasNext()){String oneRestoredFileID=allREstoreFileID.next();currentHibernateTemplate.bulkUpdate(restoreUpdateHQL, oneRestoredFileID);}return true;}@Overridepublic List<ChildrenFilesPO> queryAllChildrenFileInfo() {// TODO Auto-generated method stubreturn null;}@Overridepublic ChildrenFilesPO queryOneChildrenFileInfo(String filesID) {currentHibernateTemplate=this.getHibernateTemplate();ChildrenFilesPO returnOneChildrenFilesPO=currentHibernateTemplate.get(ChildrenFilesPO.class, filesID);return returnOneChildrenFilesPO;}@Overridepublic List<ChildrenFilesPO> querySomeChildrenFileInfo(String queryHQLWhere) { currentHibernateTemplate=this.getHibernateTemplate();String queryHQLString="from com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO "+queryHQLWhere;List<ChildrenFilesPO> returnAllResult=currentHibernateTemplate.find(queryHQLString);return returnAllResult;}@Overridepublic List<ChildrenFilesPO> dividPageQueryChildrenFileInfo(String queryHQLWhere,PageStatePO onePageStatePO) { /*** 首先获得满足查询条件的记录总数totalCounter*/Session currentSession=this.getSessionFactory().openSession();Query query = currentSession.createQuery("select count(*) from com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO "+queryHQLWhere);Long objectCounter=(Long)query.uniqueResult();long totalCounter=objectCounter.longValue();/*** 根据所获得的满足查询条件的记录总数,动态获得分页状态PO对象中的其它属性值(通过调用* setPageStatePOMemberProperty方法)*/onePageStatePO.setPageStatePOMemberProperty((int)totalCounter);/*** 构建满足查询条件的HQL语句*/String queryHQLString="from com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO "+queryHQLWhere;/*** 创建出包装该HQL语句的Query接口对象*/query = currentSession.createQuery(queryHQLString);/*** 设置分页查询过程中的相关的两个控制参数(开始记录号和返回的每页数量)*/query.setFirstResult(onePageStatePO.getThisPageFirstElementNumber());query.setMaxResults(onePageStatePO.getOnePageSize());/*** 查询出满足条件的某一页的数据,并返回该页数据(注意:不是返回所有的数据)*/List<ChildrenFilesPO> returnAllResult=query.list();return returnAllResult;}@Overridepublic boolean updateOneChildrenFileInfo(ChildrenFilesPO oneChildrenFileInfo) { currentHibernateTemplate=this.getHibernateTemplate();/*** 将修改后的结果PO再次回写到数据库表中*/currentHibernateTemplate.update(oneChildrenFileInfo);return true;}}6、在Spring的IOC的XML配置文件中定义出该DAO组件对象(1)在项目中增加一个新的XML配置childrenfiles_Spring.xml杨教授大学堂精心创作的优秀程序员职业提升必读系列资料(2)在主配置文件中级联该子配置文件<import resource="childrenfiles_Spring.xml"/>(3)在子配置文件中进行定义DAO<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""/dtd/spring-beans.dtd"><beans><!-- 下面定义对新生儿信息操作的DAO组件对象,并注入sessionFactory --> <bean id="childrenFilesDAOImple"class="com.px1987.sshchims.dao.imple.ChildrenFilesDAOImple"> <property name="sessionFactory"> <ref bean="sessionFactory"/></property> </bean></beans>杨教授大学堂,版权所有,盗版必究。

J2EE课程设计实训项目——《社区医疗信息管理系统》——构建课程设计实训项目中的页面模板和应用页面模板

J2EE课程设计实训项目——《社区医疗信息管理系统》——构建课程设计实训项目中的页面模板和应用页面模板

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——构建课程设计实训项目中的页面模板和应用页面模板1.1.1构建课程设计实训项目中的页面模板和应用页面模板1、在项目中添加美工提供的页面模板及相关的资源文件2、在JSP中包含(引用)模板页(1)在JSP中引用模板页面文件(2)index.jsp页面的代码示例<jsp:include page="/commonPage/pageHead.jsp" ></jsp:include><%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body>社区信息管理系统首页</body></html><jsp:include page="/commonPage/authorInfo.jsp" ></jsp:include>(3)页头模板页面pageHead.jsp的代码示例<%@ page isELIgnored="false" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb18030" /><title>蓝梦集团社区信息管理系统Web标题页面</title><link href="${pageContext.request.contextPath}/css/indexStyle.css" rel="stylesheet" type="text/css" /><script src="${pageContext.request.contextPath}/SpryAssets/SpryMenuBar.js" type="text/javascript"></script><script src="${pageContext.request.contextPath}/SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script><script src="${pageContext.request.contextPath}/SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script><link href="${pageContext.request.contextPath}/SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" /><link href="${pageContext.request.contextPath}/SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" /><link href="${pageContext.request.contextPath}/SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" /><script src="${pageContext.request.contextPath}/Scripts/AC_RunActiveContent.js"type="text/javascript"></script></head><body><div id="topLogoBar"><div id="topLogoBar_spaceColumn">蓝梦社区信息系统</div><div id="topLogoBar_searchInfo"><table width="100%" border="0" id="topLogoBar_rightTable"><tr><td><form action="#" method="post" name="searchInfoForm"><select name="search_Method" id="search_Method"><option value="1" selected="selected">按病人ID搜索</option><option value="2">按病人类型搜索</option><option value="3">按体检时间搜索</option><option value="4">按疾病分类搜索</option></select><input type="text" name="searchKeyWord" id="searchKeyWord" /><input type="image" alt="点击我可以产生提交的行为"src="${pageContext.request.contextPath}/images/search_btn.gif"/></form></td><td align="right"><a href="#" id="indexPageHref">北京社区</a>&nbsp;/<a href="#" id="indexPageHref">上海社区</a>&nbsp;/<a href="#" id="indexPageHref">广州社区</a>&nbsp;/<a href="#" id="systemBBSHref">技术论坛</a>&nbsp;/<a href="#" id="AmericanOffice">集团总部</a></td></tr></table><marquee onmouseover="this.stop();" onmouseout="this.start();"><a href="#">系统最新公告:蓝梦集团成功香港上市,为进军国际化市场迈出了可喜的第一步!点击可以浏览详细的信息...</a></marquee></div><div class="clearFloat"></div></div><div id="navMenuBar"><ul id="MenuBar1" class="MenuBarHorizontal"><li><a href="${pageContext.request.contextPath}/indexContent/index.jsp">返回首页</a></li><li><a class="MenuBarItemSubmenu" href="#">社区医院</a><ul><li><ahref="${pageContext.request.contextPath}/mainMenuOne/hosptialNews.jsp">本院新闻</a></li><li><a href="#">业务活动</a></li><li><a href="#">院长致词</a></li><li><a href="#">工会活动</a></li><li><a href="#">后勤保障</a></li><li><a href="#">社区共建</a></li></ul></li><li><a class="MenuBarItemSubmenu" href="#">儿童档案</a><ul><li><a href="${pageContext.request.contextPath}/mainMenuTwo/addFileInfo.jsp">录入档案</a></li><li><a href="${pageContext.request.contextPath}/mainMenuTwo/queryFileInfoByID.jsp">修改档案</a></li><li><a href="${pageContext.request.contextPath}/mainMenuTwo/querySomeFilesInfo.jsp">查询档案</a></li><li><a href="${pageContext.request.contextPath}/mainMenuTwo/advanceQuerySomeFilesInfo.jsp">高级查询</a></li><li><a href="${pageContext.request.contextPath}/mainMenuTwo/dividPageQueryFileInfo.jsp">分页查询</a></li><li><ahref="${pageContext.request.contextPath}/${pageContext.request.contextPath}/childFilesManag eAction!restoreChildrenFileInfos.action">恢复档案</a></li><li><ahref="${pageContext.request.contextPath}/mainMenuTwo/destoryFileInfo.jsp">注销档案</a></li></ul></li><li><a class="MenuBarItemSubmenu" href="#">老人档案</a><ul><li><ahref="${pageContext.request.contextPath}/mainMenuThree/addFileInfo.jsp">录入档案</a></li><li><ahref="${pageContext.request.contextPath}/mainMenuThree/querySomeFilesInfo.jsp">查询档案</a></li><li><ahref="${pageContext.request.contextPath}/mainMenuThree/advanceQuerySomeFilesInfo.jsp">高级查询</a></li><li><ahref="${pageContext.request.contextPath}/mainMenuThree/restoreFileInfo.jsp">恢复档案</a></li><li><ahref="${pageContext.request.contextPath}/mainMenuThree/backupFileInfo.jsp">备份档案</a></li><li><ahref="${pageContext.request.contextPath}/mainMenuThree/destoryFileInfo.jsp">注销档案</a></li></ul></li><li><a href="#" class="MenuBarItemSubmenu">就诊信息</a><ul><li><a href="#">记录就诊</a></li><li><a href="#">修改就诊</a></li><li><a href="#">删除就诊</a></li><li><a href="#">注销就诊</a></li><li><a href="#">编号查询</a></li><li><a href="#">分类查询</a></li><li><a href="#">高级查询</a></li><li><a href="#">统计报表</a></li></ul></li><li><a href="#" class="MenuBarItemSubmenu">体检结果</a><ul><li><a href="#">录入结果</a></li><li><a href="#">修改结果</a></li><li><a href="#">删除结果</a></li><li><a href="#">编号查询</a></li><li><a href="#">分类查询</a></li><li><a href="#">高级查询</a></li><li><a href="#">统计结果</a></li><li><a href="#">打印结果</a></li></ul></li><li><a href="#" class="MenuBarItemSubmenu">医务人员</a> <ul><li><a href="#">修改密码</a></li><li><a href="#">重新登录</a></li><li><a href="#">添加信息</a></li><li><a href="#">修改信息</a></li><li><a href="#">删除信息</a></li><li><a href="#">编号查询</a></li><li><a href="#">分类查询</a></li><li><a href="#">高级查询</a></li><li><a href="#">人员统计</a></li><li><a href="#">打印简历</a></li></ul></li><li><a href="#" class="MenuBarItemSubmenu">系统服务</a> <ul><li><a href="#">关于我们</a></li><li><a href="#">客户服务</a></li><li><a href="#">在线帮助</a></li><li><a href="#">系统备份</a></li><li><a href="#">安全管理</a></li><li><a href="#">后台管理</a></li></ul></li></ul></div><div class="clearPageContentFloat"></div><div id="pageSplitMenuBar"><div id="TabbedPanels1" class="TabbedPanels"><ul class="TabbedPanelsTabGroup"><li class="TabbedPanelsTab" ><a href="#">慢病管理</a></li><li class="TabbedPanelsTab" ><a href="#">孕妇保健</a></li><li class="TabbedPanelsTab" ><a href="#">儿童保健</a></li><li class="TabbedPanelsTab" ><a href="#">预防免疫</a></li><li class="TabbedPanelsTab" ><a href="#">健康档案管理</a></li><li class="TabbedPanelsTab" ><a href="#">健康教育管理</a></li><li class="TabbedPanelsTab" ><a href="#">老年人群管理</a></li></ul><div class="TabbedPanelsContentGroup"><div class="TabbedPanelsContent"><a href="#">服务提示</a>&nbsp;&nbsp;<a href="#">体检管理</a>&nbsp;&nbsp;<a href="#">访示管理</a>&nbsp;&nbsp;<a href="#">信息维护功能</a></div><div class="TabbedPanelsContent"><a href="#">孕妇健卡</a>&nbsp;&nbsp;<a href="#">孕妇体检</a>&nbsp;&nbsp;<a href="#">孕妇访视</a>&nbsp;&nbsp;<a href="#">统计查询</a>&nbsp;&nbsp;<a href="#">孕产妇管理表</a><a href="#">孕妇预产期提醒</a></div><div class="TabbedPanelsContent"><a href="#">新生儿建卡</a>&nbsp;&nbsp;<a href="#">新生儿体检</a>&nbsp;&nbsp;<a href="#">查询统计</a>&nbsp;&nbsp;<a href="#">新生儿问题管理</a></div><div class="TabbedPanelsContent"><a href="#">系统管理</a>&nbsp;&nbsp;<a href="#">接种管理</a>&nbsp;&nbsp;<a href="#">统计查询</a></div><div class="TabbedPanelsContent"><a href="#">疾病史</a>&nbsp;&nbsp;<a href="#">残疾史</a>&nbsp;&nbsp;<a href="#">社区定义</a>&nbsp;&nbsp;<a href="#">查询统计</a>&nbsp;&nbsp;<a href="#">个人档案管理</a>&nbsp;&nbsp;<a href="#">家庭档案管理</a>&nbsp;&nbsp;<a href="#">主要问题记录</a></div><div class="TabbedPanelsContent"><a href="#">健康资料管理</a>&nbsp;&nbsp;<a href="#">健康教育管理</a></div><div class="TabbedPanelsContent"><a href="#">系统管理</a>&nbsp;&nbsp;<a href="#">查询统计</a><a href="#">老年人访视</a></div></div></div><div class="clearPageContentFloat"></div></div><script type="text/javascript"><!--var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1",{imgDown:"${pageContext.request.contextPath}/SpryAssets/SpryMenuBarDownHover.gif", imgRight:"${pageContext.request.contextPath}/SpryAssets/SpryMenuBarRightHover.gif"}); var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false});//--></script></body></html>(4)系统版权信息模板页面authorInfo.jsp的代码示例<%@ page isELIgnored="false" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb18030" /><title>底部共用信息页</title><link href="${pageContext.request.contextPath}/css/indexStyle.css" rel="stylesheet" type="text/css" /></head><body><hr /><div id="pageFooter">版权所有,2016-2020 蓝梦集团,版权所有,违法必究。

J2EE课程设计实训项目——《社区医疗信息管理系统》——应用JavaScript脚本程序对各种表单中的数据进行验证

J2EE课程设计实训项目——《社区医疗信息管理系统》——应用JavaScript脚本程序对各种表单中的数据进行验证

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——应用JavaScript脚本程序对各种表单中的数据进行验证1.1.1应用JavaScript脚本程序对各种表单中的数据进行验证1、应用JavaScript脚本程序对工作人员的登录表单进行数据有效性检查(1)相关的JavaScript脚本程序代码示例function checkLoginFormValid(thisLoginForm){if((erName.value=="")||(erName.value.length==0)){ window.alert("你的登录账号为空,请输入有效的登录账号!");return false;}else if((erPassWord.value=="")||(erPassWord.value.length==0)){ window.alert("你的登录密码为空,请输入有效的登录密码!");return false;}else if(erPassWord.value.length < 6){window.alert("你的登录密码太短,请输入多于6个字符的有效登录密码!");return false;}return true;}(2)测试表单数据验证的功能实现效果2、应用JavaScript脚本程序对添加新生儿档案信息的表单数据进行检查(1)相关的JavaScript脚本程序代码示例function checkAddFileInfoFormValid(){var userInputedChildName=document.getElementById("oneFilesFormBean.childName").value;if((userInputedChildName=="")||(userInputedChildName.length==0)){window.alert("新生儿档案姓名信息不能为空,请输入有效的新生儿档案姓名!");return false;}var userInputedBirthDay=document.getElementById("oneFilesFormBean.birthDay").value;if((userInputedBirthDay=="")||(userInputedBirthDay.length==0)){window.alert("新生儿出身日期信息不能为空,请输入有效的新生儿出身日期!");return false;}var userInputedHomeAddress=document.getElementById("oneFilesFormBean.homeAddress").value;if((userInputedHomeAddress=="")||(userInputedHomeAddress.length==0)){window.alert("新生儿的家庭地址信息不能为空,请输入有效的新生儿家庭地址信息!");return false;}var userInputedTelphoneNo=document.getElementById("oneFilesFormBean.telphoneNo").value;if((userInputedTelphoneNo=="")||(userInputedTelphoneNo.length==0)){window.alert("新生儿的联系电话不能为空,请输入有效的新生儿联系电话!");return false;}var userInputedMotherName=document.getElementById("oneFilesFormBean.motherName").value;if((userInputedMotherName=="")||(userInputedMotherName.length==0)){window.alert("新生儿的母亲姓名不能为空,请输入有效的新生儿母亲姓名!");return false;}return true;}(2)测试表单数据验证的功能实现效果3、应用JavaScript脚本程序对按照新生儿档案信息编号ID查询的表单数据进行检查(1)相关的JavaScript脚本程序代码示例function checkQueryChildrenFileInfoByIDFormValid(){var userInputedFilesID=document.getElementById("oneFilesFormBean.filesID").value;if((userInputedFilesID=="")||(userInputedFilesID.length==0)){window.alert("待查询的新生儿档案编号信息不能为空,请输入有效的新生儿档案编号!");return false;}return true;}(2)测试基本表单数据验证的功能实现效果(3)测试组合表单数据验证的功能实现效果4、完整的HTML页面和JS代码示例<jsp:include page="/commonPage/pageHead.jsp" ></jsp:include><%@ page isELIgnored="false" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><title>蓝梦集团社区信息管理系统根据新生儿档案信息编号查询的页面</title><script src="${pageContext.request.contextPath}/javascript/commonJavaScript.js" type="text/javascript"></script></head><body><br/><br/><br/><br/><br/><center><form name="queryChildrenFileInfoByID" id="queryChildrenFileInfoByID" action="${pageContext.request.contextPath}/childFilesManageAction!doQueryoSomeChildrenFi leInfo.action"method="post" onsubmit="return checkQueryChildrenFileInfoByIDFormValid()" >新生儿档案编号<select name="oneFilesFormBean.filesIDOperator" id="oneFilesFormBean.filesIDOperator"><option value="1" selected="selected">精确匹配</option><option value="2" >前置模糊匹配</option><option value="3">后置模糊匹配</option></select><input type="text" name="oneFilesFormBean.filesID" id="oneFilesFormBean.filesID" /><br/><br/><br/><input type="image" src="${pageContext.request.contextPath}/images/researchInfo.gif" title="开始查询" /></form></center><br/><br/><br/><br/><br/></body></html><jsp:include page="/commonPage/authorInfo.jsp"></jsp:include>。

J2EE课程设计实训项目《社区医疗信息管理系统》——实现对新生儿档案信息查询结果进行分页显示(第2部分)

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——实现对新生儿档案信息的查询结果进行分页显示(第2/2部分)1.1.1实现对查询返回的结果数据集进行分页显示的功能1、在项目中添加包装分页状态的数据PageStatePOpackage com.px1987.sshchims.dao.po;public class PageStatePO {public boolean isFirstPage() {return firstPage;}public void setFirstPage(boolean firstPage) {this.firstPage = firstPage;}public boolean isLastPage() {return lastPage;}public void setLastPage(boolean lastPage) {stPage = lastPage;}public boolean isHasNextPage() {return hasNextPage;}public void setHasNextPage(boolean hasNextPage) {this.hasNextPage = hasNextPage;}public boolean isHasPreviousPage() {return hasPreviousPage;}public void setHasPreviousPage(boolean hasPreviousPage) {this.hasPreviousPage = hasPreviousPage;}public int getLastPageNumber() {return lastPageNumber;}public void setLastPageNumber(int lastPageNumber) {stPageNumber = lastPageNumber;}public int getTotalNumberOfElements() {return totalNumberOfElements;}public void setTotalNumberOfElements(int totalNumberOfElements) { this.totalNumberOfElements = totalNumberOfElements;}public int getThisPageFirstElementNumber() {return thisPageFirstElementNumber;}public void setThisPageFirstElementNumber(int thisPageFirstElementNumber) { this.thisPageFirstElementNumber = thisPageFirstElementNumber;}public int getThisPageLastElementNumber() {return thisPageLastElementNumber;}public void setThisPageLastElementNumber(int thisPageLastElementNumber) { this.thisPageLastElementNumber = thisPageLastElementNumber;}public int getNextPageNumber() {return nextPageNumber;}public void setNextPageNumber(int nextPageNumber) {this.nextPageNumber = nextPageNumber;}public int getPreviousPageNumber() {return previousPageNumber;}public void setPreviousPageNumber(int previousPageNumber) { this.previousPageNumber = previousPageNumber;}public int getOnePageSize() {return onePageSize;}public void setOnePageSize(int onePageSize) {this.onePageSize = onePageSize;}public int getTotalPageNumber() {return totalPageNumber;}public void setTotalPageNumber(int totalPageNumber) { this.totalPageNumber = totalPageNumber;}public int getCurrentPageNumber() {return currentPageNumber;}public void setCurrentPageNumber(int currentPageNumber) { this.currentPageNumber = currentPageNumber;}public byte getSomeOneOrderMethod() {return someOneOrderMethod;}public void setSomeOneOrderMethod(byte someOneOrderMethod) {this.someOneOrderMethod = someOneOrderMethod;}/*** 下面的方法是根据记录总数获得分页中的其他状态属性值*/public void setPageStatePOMemberProperty(int totalNumberOfElements) { /*** 下面的代码是根据总记录数和每页显示的记录数计算出总页数*/if ((totalNumberOfElements % onePageSize) == 0){/** 如果记录总数为每页的整倍数,则计算出其总页数*/totalPageNumber = totalNumberOfElements/onePageSize;}else{/** 如果有不满一页的,则页数加一,并且计算出其总页数*/totalPageNumber = totalNumberOfElements/onePageSize + 1;}/*** 当前页是否是首页(第一页)*/setFirstPage((currentPageNumber==1)?true:false);/*** 如果当前页数不等于总页数,则表明当前页不是最后一页(属于中间的某一页)*/if(currentPageNumber!=totalPageNumber){setLastPage(false);}else{/*** 如果当前页数等于总页数,则表明当前页是最后一页*/setLastPage(true);}/*** 如果当前页数小于总页数,则表明仍然有下一页*/if(currentPageNumber <totalPageNumber){setHasNextPage(true);}else{//如果当前页数大于或者等于总页数,则表明没有了下一页setHasNextPage(false);}if(currentPageNumber ==1){//如果当前页数等于首页(第一页),则表明没有上一页setHasPreviousPage(false);}else{//如果当前页数不等于首页(第一页),则表明有上一页setHasPreviousPage(true);}//总的数据条目数量,0表示没有数据setTotalNumberOfElements(totalNumberOfElements);setLastPageNumber(totalPageNumber); //获取最后一页页码,也就是总页数int thisPageFirstElementNumber=(currentPageNumber-1)*onePageSize;int thisPageEndElementNumber=thisPageFirstElementNumber+(((currentPageNumber!=totalPageNumber)||(totalNumberOfElements % getOnePageSize())==0)?getOnePageSize():(totalNumberOfElements % getOnePageSize())); //当前页是最后一页时,为余数的实际值//获取当前页的首条数据的行编码,(从0开始计数)setThisPageFirstElementNumber(thisPageFirstElementNumber);//获取当前页的末条数据的行编码(从0开始计数)setThisPageLastElementNumber(thisPageEndElementNumber);setNextPageNumber(currentPageNumber+1); //获取下一页编码setPreviousPageNumber(currentPageNumber-1); //获取上一页编码}private boolean firstPage; //是否是首页(第一页),第一页页码为1 private boolean lastPage; //是否是最后一页private boolean hasNextPage; //是否有下一页private boolean hasPreviousPage; //是否有上一页private int lastPageNumber; //获取最后一页页码,也就是总页数private int totalNumberOfElements; //总的数据条目数量,0表示没有数据//获取当前页的首条数据的行编码(从0开始计数)private int thisPageFirstElementNumber;//获取当前页的末条数据的行编码(从0开始计数)private int thisPageLastElementNumber;private int nextPageNumber; //获取下一页编码private int previousPageNumber; //获取上一页编码private int onePageSize; //每一页显示的条目数private int totalPageNumber; //总页数private int currentPageNumber; //当前页的页码private byte someOneOrderMethod; //重新按照某种排序方式再次查询数据public PageStatePO() {super();}}2、在ActionForm组件中添加一个成员属性,并提供get/set方法private int targetPageCounter;public int getTargetPageCounter() {return targetPageCounter;}public void setTargetPageCounter(int targetPageCounter) {this.targetPageCounter = targetPageCounter;}3、编程Action类中的第1次查询的请求响应方法public String doDividPageQueryoChildrenFileInfo(){/*** 构建必须的条件字符串*/queryHQLWhere=" where oneChildrenFilesPO.deleteFlag=1 ";/*** 首先识别操作者在档案编号的输入框是否输入了档案编号*/boolean checkFilesIDInValid=(oneFilesFormBean.getFilesID()==null)||(oneFilesFormBean.getFilesID().length()==0);if(!checkFilesIDInValid){/*** 获得所选择的档案编号的操作符,并识别具体的符号类型*/switch(oneFilesFormBean.getFilesIDOperator()){case 1: /** 精确匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.filesID='"+oneFilesFormBean.getFilesID()+"'";break;case 2: /** 前置模糊匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.filesID like '"+ oneFilesFormBean.getFilesID()+"%'";break;case 3: /** 后置模糊匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.filesID like '%"+oneFilesFormBean.getFilesID()+"'";break;}}/*** 其次识别操作者在新生儿姓名输入框是否输入了新生儿姓名*/boolean checkChildNameInValid= (oneFilesFormBean.getChildName()==null)||(oneFilesFormBean.getChildName().length()==0);if(!checkChildNameInValid){switch(oneFilesFormBean.getChildNameOperator()){case 1: /** 精确匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.childName='"+oneFilesFormBean.getChildName()+"'";break;case 2: /** 前置模糊匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.childName like '"+ oneFilesFormBean.getChildName()+"%'";break;case 3: /** 后置模糊匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.childName like '%"+oneFilesFormBean.getChildName()+"'";break;}}/*** 再识别所选择的新生儿的性别查询的条件要求*/switch(oneFilesFormBean.getChildSex()){case 0: /** 要求选择女孩*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.childSex=0";break;case 1: /** 要求选择男孩*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.childSex=1";break;case 2: /** 男孩或者女孩都可以(对性别没有要求)*/break;}/*** 再识别操作者在新生儿出生日期输入框是否输入了出生日期*/boolean checkBirthDayInValid=(oneFilesFormBean.getBirthDay()==null)||(oneFilesFormBean.getBirthDay().length()==0);if(!checkBirthDayInValid){switch(oneFilesFormBean.getBirthDayOperator()){case 1: /** 精确匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.birthDay='"+ oneFilesFormBean.getBirthDay()+"'";break;case 2: /** 前置模糊匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.birthDay like '"+ oneFilesFormBean.getBirthDay()+"%'";break;case 3: /** 后置模糊匹配*/queryHQLWhere=queryHQLWhere+" and oneChildrenFilesPO.birthDay like '%"+oneFilesFormBean.getBirthDay()+"'";break;}}PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 由于是第一次访问,因此获得第一页的数据*/onePageStatePO.setCurrentPageNumber(1);onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 对DAO类中的查询方法进行调用*/List<ChildrenFilesPO> returnAllResult=childrenFilesDAOImple.dividPageQueryChildrenFileInfo(queryHQLWhere,onePageStatePO);/*** 将所查询出的满足条件的“新生儿”档案信息(returnAllResult)传到显示结果的JSP页面中*/HttpServletRequest request=ServletActionContext.getRequest();request.setAttribute("childrenFilesPOList", returnAllResult);/** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);/*** 跳转到目标页面中去显示查询的结果数据*/return "dividPageShowQueryResult";}4、编程Action类中的第2次查询(查询目标页)的请求响应方法doShowTargetPageChildrenFileInfopublic String doShowTargetPageChildrenFileInfo(){PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();/*** 从表单对象中获得需要跳转的目标页码*/onePageStatePO.setCurrentPageNumber(oneFilesFormBean.getTargetPageCounter());onePageStatePO.setOnePageSize(totalRecordInOnePage);/*** 对DAO类中的查询方法进行调用*/List<ChildrenFilesPO> returnAllResult=childrenFilesDAOImple.dividPageQueryChildrenFileInfo(queryHQLWhere,onePageStatePO);/*** 将所查询出的满足条件的“新生儿”档案信息(returnAllResult)传到显示结果的JSP页面中*/HttpServletRequest request=ServletActionContext.getRequest();request.setAttribute("childrenFilesPOList", returnAllResult);/** 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据*/request.setAttribute("onePageStatePO", onePageStatePO);/*** 跳转到目标页面中去显示查询的结果数据*/return "dividPageShowQueryResult";}5、编程DAO中满足分页数据查询访问方法dividPageQueryChildrenFileInfo@Overridepublic List<ChildrenFilesPO> dividPageQueryChildrenFileInfo(String queryHQLWhere,PageStatePO onePageStatePO) { /*** 首先获得满足查询条件的记录总数totalCounter*/Session currentSession=this.getSessionFactory().openSession();Query query = currentSession.createQuery("select count(*) from com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO " +queryHQLWhere);Long objectCounter=(Long)query.uniqueResult();long totalCounter=objectCounter.longValue();/*** 根据所获得的满足查询条件的记录总数,动态获得分页状态PO对象中的其它属性值(通过调用setPageStatePOMemberProperty方法)*/onePageStatePO.setPageStatePOMemberProperty((int)totalCounter);/*** 构建满足查询条件的HQL语句*/String queryHQLString="from com.px1987.sshchims.dao.po.ChildrenFilesPO as oneChildrenFilesPO "+queryHQLWhere;/*** 创建出包装该HQL语句的Query接口对象*/query = currentSession.createQuery(queryHQLString);/*** 设置分页查询过程中的相关的两个控制参数(开始记录号和返回的每页数量)*/query.setFirstResult(onePageStatePO.getThisPageFirstElementNumber());query.setMaxResults(onePageStatePO.getOnePageSize());/*** 查询出满足条件的某一页的数据,并返回该页数据(注意:不是返回所有的数据)*/List<ChildrenFilesPO> returnAllResult=query.list();return returnAllResult;}6、测试目前的功能实现效果同时在控制台中打印输出满足MySQL数据库的分页查询的SQL语句(加了limit限定)同时也提供对跳转过程中输入的目标页码的正确性判断。

基于S2SH架构的J2EE课程设计实训项目《社区医疗信息管理系统》——实现批量删除新生儿档案信息的功能模块

HttpServletRequest request=ServletActionContext.getRequest(); request.setAttribute("errorText", "你没有选择任何要删除的编号,请选择待删除的档 案编号!");
return Action.ERROR; } for(int index=0; index < deleteFileIDs.length; index++){
5、在 DAO 类中实现批量删除的数据访问处理方法
@Override
public boolean deleteSomeChildrenFileInfo(Set<String> filesIDs) {
currentHibernateTemplate=this.getHibernateTemplate();
String updateHQL="update com.px1987.sshchims.dao.po.ChildrenFilesPO as
oneChildrenFilesPO
"+"set
oneChildrenFilesPO.deleteFlag=0
where
oneChildrenFilesPO.filesID=?";
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
注意 bulkUpdate 的批量修改行为其实也还是一条一条语句的修改。
6、再编程 Action 类中的批量删除的请求处理 public String doBatchDeleteChildrenFileInfo(){ if(oneFilesFormBean==null){ /** * 跳转到错误信息显示的页面中去显示错误信息 */ HttpServletRequest request=ServletActionContext.getRequest(); request.setAttribute("errorText", "你没有选择任何要删除的编号,请选择待删除的档

基于S2SH架构的J2EE课程设计实训项目《社区医疗信息管理系统》——构建出项目的Hibernate框架的开发环境

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——构建出项目的Hibernate框架的开发环境1.1.1构建出项目的Hibernate框架的开发环境1、在项目中添加Hibernate的系统库(1)然后将下面的各个*.lib库文件(总共13文件)在Eclipse中导入放到Web应用的/WEB-INF/lib目录中。

antlr-2.7.6.jar、cglib-2.2.jar、commons-collections-3.1.jar、commons-logging-1.0.4.jar (在Struts中已经包含有,可以不再需要它)、javassist-3.9.0.GA.jar、ehcache-1.2.3.jar hibernate3.jar、jta-1.1.jar、dom4j-1.6.1.jar和log4j-1.2.15.jar、slf4j-api-1.5.8.jar和slf4j-simple-1.5.8.jar和c3p0-0.9.1.jar。

(2)最后为下面的状态2、在项目中添加hibernate.cfg.xml文件(1)创建出Hibernate框架的系统配置文件hibernate.cfg.xml(2)系统配置文件hibernate.cfg.xml的代码示例<?xml version='1.0' encoding='gb2312'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://192.168.0.20:3306/chimsdb</property> <property name="ername">root</property><property name="connection.password">root</property><property name="show_sql">true</property></session-factory></hibernate-configuration>3、在项目中添加工作人员的PO实体类(1)实体类名称为StaffInfoPO,程序包名称为com.px1987.sshchims.dao.po(2)添加相关的成员属性(名称与数据库库表中的字段名称保持一致性)private String staffID=null;private String staffName=null;private String staffPassWord=null;private int staffSex=0;private int staffAge=0;private String staffBirth=null;private int department=0;/*** 职务*/private String duty;/*** 职称*/private String positional_titles;(3)为每个成员属性添加get/set方法(4)再添加equals和Hashcode方法(5)StaffInfoPO类最终的代码示例package com.px1987.sshchims.dao.po;public class StaffInfoPO {private String staffID=null;public int hashCode() {final int prime = 31;int result = 1;result = prime * result + department;result = prime * result + ((duty == null) ? 0 : duty.hashCode());result = prime* result+ ((positional_titles == null) ? 0 : positional_titles.hashCode());result = prime * result + staffAge;result = prime * result+ ((staffBirth == null) ? 0 : staffBirth.hashCode());result = prime * result + ((staffID == null) ? 0 : staffID.hashCode());result = prime * result+ ((staffName == null) ? 0 : staffName.hashCode());result = prime * result+ ((staffPassWord == null) ? 0 : staffPassWord.hashCode());result = prime * result + staffSex;return result;}public boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;StaffInfoPO other = (StaffInfoPO) obj;if (department != other.department)return false;if (duty == null) {if (other.duty != null)return false;} else if (!duty.equals(other.duty))return false;if (positional_titles == null) {if (other.positional_titles != null)return false;} else if (!positional_titles.equals(other.positional_titles)) return false;if (staffAge != other.staffAge)return false;if (staffBirth == null) {if (other.staffBirth != null)return false;} else if (!staffBirth.equals(other.staffBirth))return false;if (staffID == null) {if (other.staffID != null)return false;} else if (!staffID.equals(other.staffID))return false;if (staffName == null) {if (other.staffName != null)return false;} else if (!staffName.equals(other.staffName))return false;if (staffPassWord == null) {if (other.staffPassWord != null)return false;} else if (!staffPassWord.equals(other.staffPassWord)) return false;if (staffSex != other.staffSex)return false;return true;}return staffID;}public void setStaffID(String staffID) {this.staffID = staffID;}public String getStaffName() {return staffName;}public void setStaffName(String staffName) { this.staffName = staffName;}public String getStaffPassWord() {return staffPassWord;}public void setStaffPassWord(String staffPassWord) { this.staffPassWord = staffPassWord;}public int getStaffSex() {return staffSex;}public void setStaffSex(int staffSex) {this.staffSex = staffSex;}public int getStaffAge() {return staffAge;}public void setStaffAge(int staffAge) {this.staffAge = staffAge;}return staffBirth;}public void setStaffBirth(String staffBirth) {this.staffBirth = staffBirth;}public int getDepartment() {return department;}public void setDepartment(int department) {this.department = department;}public String getDuty() {return duty;}public void setDuty(String duty) {this.duty = duty;}public String getPositional_titles() {return positional_titles;}public void setPositional_titles(String positionalTitles) { positional_titles = positionalTitles;}private String staffName=null;private String staffPassWord=null;private int staffSex=0;private int staffAge=0;private String staffBirth=null;private int department=0;/*** 职务*/private String duty;/*** 职称*/private String positional_titles;public StaffInfoPO() {super();}}4、映射工作人员的PO类(1)添加StaffInfoPO.hbm.xml文件(2)设计该映射文件<?xml version="1.0"?><!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""/hibernate-mapping-3.0.dtd"> <hibernate-mapping><class name="com.px1987.sshchims.dao.po.StaffInfoPO" table="staffinfo"> <!--下面的name="staffID"中的staffID为PO类中的主键属性变量名称--><id name="staffID"><generator class="uuid.hex" /></id><property name="staffName" /><property name="staffPassWord" /><property name="staffSex" /><property name="staffAge" /><property name="staffBirth" /><property name="department" /><property name="duty" /><property name="positional_titles" /></class></hibernate-mapping>(3)在系统配置hibernate.cfg.xml文件中引用连接该映射文件<mapping resource="StaffInfoPO.hbm.xml" />。

《社区医疗信息管理系统》——设计与实现基本查询老年人档案信息相关的JSP页面及查询表单


<tr>
<td><div align="right">老年病人的姓名</div></td>
<td><div align="center">
<select name="oneFilesFormBean.childNameOperator"
id="oneFilesFormBean.childNameOperator">
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<title>蓝梦集团社区信息管理系统根据老年人档案信息编号的基本查询的页面
</title>
<option value="1" selected="selected">精确匹配</option>
杨教授大学堂,版权所有,盗版必究。 2/14 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
<option value="2" >前置模糊匹配</option> <option value="3">后置模糊匹配</option> </select> </div></td> <td><div align="left"> <input type="text" name="oneFilesFormBean.olderName"
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于S2SH架构的J2EE课程设计实训项目——《社区医疗信息管理系统》——构建出项目的数据库系统及用户信息相关的数据库表结构
1.1.1构建出项目的数据库系统及相关的数据库表结构
1、在MySQL中建立数据库文件和数据库表
(1)新建chimsdb数据库文件
(2)在该数据库文件中新建数据库表
2、staffInfo(医务工作人员信息数据库表)
(1)工作人员信息数据库表结构说明
(2)工作人员信息数据库表字段
(3)创建staffinfo数据库表的SQL语句
DROP TABLE IF EXISTS `staffinfo`;
CREATE TABLE `staffinfo` (
`staffID` varchar(50) NOT NULL DEFAULT '',
`staffName` varchar(25) NOT NULL DEFAULT '', loginName` varchar(25) NOT NULL DEFAULT '',
`staffPassWord` varchar(20) NOT NULL DEFAULT '', `staffSex` int(1) NOT NULL,
`staffAge` int(2) NOT NULL,
`staffBirth` varchar(20) NOT NULL,
`department` int(2) DEFAULT NULL,
`duty` int(1) DEFAULT NULL,
`positional_titles` int(1) DEFAULT NULL, mobileNumber` varchar(11) DEFAULT NULL,
staffStatus` int(1) DEFAULT NULL,
PRIMARY KEY (`staffID`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
INSERT INTO `staffinfo` V ALUES ('1', '杨少波', 'yang1234','12345678', '1', '30', '19800201', '1', '1', '1', '12345678901', '1');。

相关文档
最新文档