sshaboot

来源:互联网 发布:类似知否的古风宅斗文 编辑:程序博客网 时间:2024/06/06 10:59

pom.xml

[html] view plain copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  2.      <parent>  
  3.             <groupId>org.springframework.boot</groupId>  
  4.             <artifactId>spring-boot-starter-parent</artifactId>  
  5.             <version>1.5.4.RELEASE</version>  
  6.         </parent>  
  7.      <dependencies>  
  8.         <!-- 表示可以发布web程序 自动启动一个tomcat -->  
  9.         <dependency>  
  10.             <groupId>org.springframework.boot</groupId>  
  11.             <artifactId>spring-boot-starter-web</artifactId>  
  12.         </dependency>  
  13.         <!-- 集成hibernate -->  
  14.        <!-- 操作数据源 -->  
  15.         <dependency>  
  16.             <groupId>org.springframework.boot</groupId>  
  17.             <artifactId>spring-boot-starter-data-jpa</artifactId>  
  18.         </dependency>  
  19.         <!-- 添加转译jsp的jar -->  
  20.         <dependency>  
  21.             <groupId>org.springframework.boot</groupId>  
  22.             <artifactId>spring-boot-starter-tomcat</artifactId>  
  23.             <scope>provided</scope>  
  24.         </dependency>  
  25.         <dependency>  
  26.             <groupId>org.apache.tomcat.embed</groupId>  
  27.             <artifactId>tomcat-embed-jasper</artifactId>  
  28.             <scope>provided</scope>  
  29.         </dependency>  
  30.         <!-- 对象关系映射 -->  
  31.         <dependency>  
  32.           <groupId>org.springframework</groupId>  
  33.           <artifactId>spring-orm</artifactId>  
  34.           <version>4.3.8.RELEASE</version>  
  35.         </dependency>  
  36.           
  37.         <!-- 添加数据源 -->  
  38.          <dependency>    
  39.                 <groupId>commons-dbcp</groupId>    
  40.                 <artifactId>commons-dbcp</artifactId>    
  41.         </dependency>    
  42.         <!-- 配置本地的jar -->  
  43.         <dependency>  
  44.              <groupId>ojdbc</groupId>  
  45.               <artifactId>objdc1</artifactId>  
  46.              <version>3.2.8</version>  
  47.             <scope>system</scope>  
  48.             <systemPath>C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar</systemPath>  
  49.         </dependency>  
  50.     </dependencies>  
  51.   <modelVersion>4.0.0</modelVersion>  
  52.   <groupId>cn.et</groupId>  
  53.   <artifactId>ssmhboot</artifactId>  
  54.   <version>0.0.1-SNAPSHOT</version>  
  55. </project>  


application.properties


[html] view plain copy
  1. mysource.url=jdbc:oracle:thin:localhost:1521:orcl  
  2. mysource.username=scott  
  3. mysource.password=tiger  
  4. mysource.driverClassName=oracle.jdbc.OracleDriver  
  5. #spring.jpa.properties.hibernate.dialect =org.hibernate.dialect.Oracle10gDialect  
  6. spring.jpa.show-sql=true  
  7.   
  8.   
  9. logging.level.root=INFO  
  10. logging.level.org.springframework.web=INFO  
  11. logging.level.org.hibernate=INFO  
  12. #这个是传值给前台把他转成 下面那种格式的字符串  
  13. spring.jackson.time-zone=GMT+8  
  14. spring.jackson.date-format=yyyy-MM-dd  

dao
[java] view plain copy
  1. package cn.et.day20170606.dao;  
  2.   
  3.   
  4. import java.util.List;  
  5.   
  6. import org.springframework.data.jpa.repository.Query;  
  7. import org.springframework.data.repository.CrudRepository;  
  8. import org.springframework.data.repository.query.Param;  
  9.   
  10. import cn.et.day20170606.entity.EmpEntity;  
  11. /** 
  12.  * 继承CrudRepository 不要实现 
  13.  * 查询那些复杂的逻辑要自己写 
  14.  * @author Administrator 
  15.  * 
  16.  */  
  17. public interface EmpJaxaDao extends CrudRepository<EmpEntity, Long>{  
  18.     /** 
  19.      * 使用的是hsql 
  20.      * @param ename 
  21.      * @return 
  22.      */  
  23.     @Query("select count(*) from EmpEntity where ename like :ename")  
  24.     public int queryTotalEmp(@Param("ename")String ename);  
  25.       
  26.       
  27.     /*@Query(value="select hibernate_sequence.nextval from dual",nativeQuery=true) 
  28.     public int selectNext();*/  
  29.       
  30.     /** 
  31.      * 使用sql 
  32.      * @param ename 
  33.      * @param startIndex 
  34.      * @param endIndex 
  35.      * @return 
  36.      * @throws Exception 
  37.      */  
  38.     @Query(value="select * from (select t.*,rownum rn from (select * from emp order by empno desc) t " +  
  39.             "where ename like :ename order by t.empno desc) where rn>=:start and rn<=:end",nativeQuery=true)  
  40.     public List<EmpEntity> queryPaginEmp(  
  41.             @Param("ename")String ename,  
  42.             @Param("start")int start,  
  43.             @Param("end")int end) throws Exception;  
  44. }   
[java] view plain copy
  1. service  
[java] view plain copy
  1. package cn.et.day20170606.service.impl;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.springframework.beans.factory.annotation.Autowired;  
  6. import org.springframework.stereotype.Service;  
  7.   
  8. import cn.et.day20170606.dao.EmpJaxaDao;  
  9. import cn.et.day20170606.entity.EmpEntity;  
  10. import cn.et.day20170606.service.EmpJaxaService;  
  11. import cn.et.day20170606.utils.Calculate;  
  12. import cn.et.day20170606.utils.PagingEntity;  
  13.   
  14.   
  15. @Service  
  16. public class EmpJaxaServiceImpl implements EmpJaxaService {  
  17.     @Autowired  
  18.     private EmpJaxaDao empDao;  
  19.     /** 
  20.      *调用查询数据库的数据方法 
  21.      */  
  22.     public List<EmpEntity>queryEmp(String ename){  
  23.         return null;  
  24.     }  
  25.     /** 
  26.      *调用新增数据库的数据方法 
  27.      */  
  28.     public void insertEmp(EmpEntity emp){  
  29.         empDao.save(emp);  
  30.     }  
  31.     /** 
  32.      *调用更新数据库的数据方法 
  33.      */  
  34.     public void updateEmp(EmpEntity emp){  
  35.         empDao.save(emp);  
  36.     }  
  37.     /** 
  38.      * 调用删除数据库数据的方法 
  39.      */  
  40.     public void deleteEmp(Long empno){  
  41.         EmpEntity emp=new EmpEntity();  
  42.         emp.setEmpno(empno);  
  43.         empDao.delete(emp);  
  44.     }  
  45.     /** 
  46.      *查询数据库的分页数据方法 
  47.      */  
  48.     public PagingEntity queryPaginEmp(String ename,Integer current) {  
  49.         if(ename==null){  
  50.             ename="";  
  51.         }  
  52.         int sum=empDao.queryTotalEmp("%"+ename+"%");  
  53.         PagingEntity p=Calculate.calculate(current, 5, sum);  
  54.         List<EmpEntity> list=null;  
  55.         try {  
  56.             list = empDao.queryPaginEmp("%"+ename+"%",p.getStart(),p.getEnd());  
  57.               
  58.         } catch (Exception e) {  
  59.             e.printStackTrace();  
  60.         }  
  61.         p.setList(list);  
  62.         return p;  
  63.     }  
  64.   
  65. }  

entity

如果要用关系映射就用下面代码

@ManyToOne
/告诉他外键的列名
@JoinColumn(name="deptno")//加入一列作为外键

[java] view plain copy
  1. package cn.et.day20170606.entity;  
  2.   
  3. import java.util.Date;  
  4.   
  5. import javax.persistence.Entity;  
  6. import javax.persistence.GeneratedValue;  
  7. import javax.persistence.GenerationType;  
  8. import javax.persistence.Id;  
  9. import javax.persistence.Table;  
  10.   
  11. import org.springframework.format.annotation.DateTimeFormat;  
  12.   
  13.   
  14. /** 
  15.  * 数据库的数据类 (一个对象就是数据库的一行) 
  16.  * @author Administrator 
  17.  *AUTO 调用数据库的这个序列HIBERNATE_SEQUENCE自动设置到主键 
  18.  */  
  19.   
  20. @Entity  
  21. @Table(name="emp")  
  22. public class EmpEntity {  
  23.         @Id  
  24.         @GeneratedValue(strategy=GenerationType.AUTO)  
  25.         private Long empno;  
  26.         private String ename;  
  27.         private String job;  
  28.         private String mgr;  
  29.         //日期格式就是用这种格式转换  
  30.         @DateTimeFormat(pattern="yyyy-MM-dd")  
  31.         private Date hiredate;  
  32.         private String sal;  
  33.         private String comm;  
  34.         private String deptno;  
  35.         public Long getEmpno() {  
  36.             return empno;  
  37.         }  
  38.         public void setEmpno(Long empno) {  
  39.             this.empno = empno;  
  40.         }  
  41.         public String getEname() {  
  42.             return ename;  
  43.         }  
  44.         public void setEname(String ename) {  
  45.             this.ename = ename;  
  46.         }  
  47.         public String getJob() {  
  48.             return job;  
  49.         }  
  50.         public void setJob(String job) {  
  51.             this.job = job;  
  52.         }  
  53.         public String getMgr() {  
  54.             return mgr;  
  55.         }  
  56.         public void setMgr(String mgr) {  
  57.             this.mgr = mgr;  
  58.         }  
  59.         public Date getHiredate() {  
  60.             return hiredate;  
  61.         }  
  62.         public void setHiredate(Date hiredate) {  
  63.             this.hiredate = hiredate;  
  64.         }  
  65.         public String getSal() {  
  66.             return sal;  
  67.         }  
  68.         public void setSal(String sal) {  
  69.             this.sal = sal;  
  70.         }  
  71.         public String getComm() {  
  72.             return comm;  
  73.         }  
  74.         public void setComm(String comm) {  
  75.             this.comm = comm;  
  76.         }  
  77.         public String getDeptno() {  
  78.             return deptno;  
  79.         }  
  80.         public void setDeptno(String deptno) {  
  81.             this.deptno = deptno;  
  82.         }  
  83.           
  84. }  

controller

package cn.et.ssmh.controller;import java.io.OutputStream;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import cn.et.ssmh.entity.Emp;import cn.et.ssmh.service.EmpService;import cn.et.ssmh.utils.PagingEntity;@RestControllerpublic class AjaxEmpAction {@AutowiredEmpService es;/** * ajax请求跳转无用所以返回字节数组 * 表示将json转换为字节输出给响应流 * 第一种方法ajax * @return * @throws Exception  *//*@RequestMapping(value="/AjaxQuery")//json返回一个字节数组必须加@ResponseBody注解@ResponseBodypublic byte[] AjaxQuery(String ename) throws Exception{List list=es.query(ename);//将数组或者对象或者集合转换成字符串的json传给xhr对象String json=JSONArray.fromObject(list).toString();return json.getBytes("UTF-8");}*//** * 删除 * @param empno * @return * @throws Exception */@RequestMapping(value="/delete")public void delete(String empno,OutputStream os) throws Exception{try {es.delete(empno);os.write("1".getBytes("UTF-8"));} catch (Exception e) {os.write("0".getBytes("UTF-8"));}}/** * 增加 * @param ee * @return * @throws Exception */@RequestMapping(value="/add")public void add(Emp ee,OutputStream os) throws Exception{try {es.add(ee);os.write("1".getBytes("UTF-8"));} catch (Exception e) {os.write("0".getBytes("UTF-8"));}}/** * 修改 * @param ee * @return * @throws Exception */@RequestMapping(value="/update")public void update(Emp ee,OutputStream os) throws Exception{try {es.update(ee);os.write("1".getBytes("UTF-8"));} catch (Exception e) {os.write("0".getBytes("UTF-8"));}}/** * OutputStream放在最后面 * @param ename * @param os * @throws Exception @RequestMapping(value="/adds")@ResponseBodypublic void ajax(String ename,OutputStream os) throws Exception{List list =es.query(ename);String json=JSONArray.fromObject(list).toString();os.write(json.getBytes("UTF-8"));}*//** * 第二种 * @param ename * @return * @throws Exception */@RequestMapping(value="/ajaxList")public PagingEntity ajaxList(String ename,int current) throws Exception{//List list =es.query(ename);PagingEntity pe=es.pagingQuery(ename,current);return pe;}/** * 第三种 * springmvc的消息转换器会将集合 对象转换成json * @param ename * @return * @throws Exception *//*@RequestMapping(value="/ajaxList")@ResponseBodypublic EmpEntity ajaxList() throws Exception{EmpEntity ee=new EmpEntity();ee.setEmpno("11");ee.setEname("zs");return ee;}*/}




jsp

[html] view plain copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  5.     <script type="text/javascript"><!--  
  6.             var path="${pageContext.request.contextPath}/day0609";  
  7.             //根据id获取对象  
  8.             function $(id){  
  9.                 return document.getElementById(id);  
  10.             }  
  11.             //和div赋值  
  12.             function toUpdate(empno,ename,job,mgr,hiredate,sal,comm,deptno){  
  13.                 $('updateDiv').style.display='block';  
  14.                 $('empNoId').value=empno;  
  15.                 $('updateEname').value=(ename=='null'?'':ename);  
  16.                 $('updateJob').value=(job=='null'?'':job);  
  17.                 $('updateMgr').value=(mgr=='null'?'':mgr);  
  18.                 $('updateHiredate').value=(hiredate=='null'?'':hiredate);  
  19.                 $('updateSal').value=(sal=='null'?'':sal);  
  20.                 $('updateComm').value=(comm=='null'?'':comm);  
  21.                 $('updateDeptno').value=(deptno=='null'?'':deptno);  
  22.                   
  23.             }  
  24.             /**  
  25.                     封装ajax  
  26.              **/  
  27.              function sendAjax(method,url,callback,param){  
  28.                 var xmlHttp=new XMLHttpRequest();  
  29.                 //向服务器发出请求  
  30.                 //规定请求的类型、URL 以及是否异步处理请求。  
  31.                 //method:请求的类型;GET 或 POST  
  32.                 //url:文件在服务器上的位置  
  33.                 //async:true(异步)或 false(同步)  
  34.                 xmlHttp.open(method,url,true);  
  35.                 //设置响应的回调 当后台的json返回后 自动调用xhr.onreadystatechange指定的函数  
  36.                 xmlHttp.onreadystatechange=function(){   
  37.                    if(xmlHttp.readyState==4 && xmlHttp.status==200){  
  38.                         //成功后调用第三个函数  
  39.                      callback(xmlHttp.responseText);  
  40.                    }  
  41.                  }  
  42.                  //post 在send里面带参数 get直接带 post一定要设置setRequestHeader  
  43.                  if(method=="POST"){  
  44.                     xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  
  45.                     xmlHttp.send(param);  
  46.                  }else{  
  47.                     xmlHttp.send();  
  48.                  }  
  49.                   
  50.              }  
  51.             //和action交互的方法 用于更新  
  52.             function toUpdate1(){  
  53.                 document.getElementById('updateDiv').style.display='none'  
  54.                   
  55.                   
  56.                 var empno=$('empNoId').value;  
  57.                 var ename=$('updateEname').value;  
  58.                 var job=$('updateJob').value;  
  59.                 var mgr=$('updateMgr').value;  
  60.                 var hiredate=$('updateHiredate').value;  
  61.                 var sal=$('updateSal').value;  
  62.                 var comm=$('updateComm').value;  
  63.                 var deptno=$('updateDeptno').value;  
  64.                 //参数  
  65.                 var param="ename="+ename+"&job="+job+"&mgr="+mgr+"&hiredate="+hiredate+"&sal="+sal+"&comm="+comm+"&deptno="+deptno+"&empno="+empno  
  66.                 //调用ajax好action交互  
  67.                 sendAjax("POST",path+"/updateEmp",function(message){  
  68.                     if(message==1){  
  69.                             alert("操作成功");  
  70.                             toQuery(current);  
  71.                     }else{  
  72.                         alert("操作失败");  
  73.                     }  
  74.                 },param)  
  75.             }  
  76.             //和action交互的方法 用于新增  
  77.             function toAdd(){  
  78.                 document.getElementById('addDiv').style.display='none'  
  79.                 var xmlHttp=new XMLHttpRequest();  
  80.                 var ename=$('a1').value;  
  81.                 var job=$('a2').value;  
  82.                 var mgr=$('a3').value;  
  83.                 var hiredate=$('a4').value;  
  84.                 var sal=$('a5').value;  
  85.                 var comm=$('a6').value;  
  86.                 var deptno=$('a7').value;  
  87.                 var param="ename="+ename+"&job="+job+"&mgr="+mgr+"&hiredate="+hiredate+"&sal="+sal+"&comm="+comm+"&deptno="+deptno;  
  88.                 sendAjax("POST",path+"/insertEmp",function(message){  
  89.                     if(message==1){  
  90.                             alert("操作成功");  
  91.                             toQuery(current);  
  92.                     }else{  
  93.                         alert("操作失败");  
  94.                     }  
  95.                 },param)              
  96.             }  
  97.             //和action交互的方法 用于删除  
  98.             function toDelete(empno){  
  99.                 var param="empno="+empno;  
  100.                 sendAjax("POST",path+"/deleteEmp",function(message){  
  101.                     if(message==1){  
  102.                             alert("操作成功");  
  103.                             toQuery(current);  
  104.                     }else{  
  105.                         alert("操作失败");  
  106.                     }  
  107.                 },param)      
  108.             }  
  109.             //分页的一些参数  
  110.             var current=1;  
  111.             var sum=0;  
  112.             var trail=0;  
  113.             var last=0;  
  114.             var next=0;  
  115.             ////和action交互的方法 用于查询  
  116.             function toQuery(pagin){  
  117.                 var xmlHttp=new XMLHttpRequest();  
  118.                 var tb=$("tb");  
  119.                 var td=$("td");  
  120.                 var ename=$("ename").value;  
  121.                 xmlHttp.open("GET",path+"/queryPaginEmp?ename="+ename+"&pagin="+pagin,true);  
  122.                 xmlHttp.onreadystatechange=function(){  
  123.                     if(xmlHttp.readyState==4&&xmlHttp.status==200){  
  124.                         //获取action响应的内容  
  125.                         var json=xmlHttp.responseText;  
  126.                         //把它转成json对象  
  127.                         var jsonall=JSON.parse(json);  
  128.                         //给分页的一些参数赋值  
  129.                         current=jsonall.current;  
  130.                         sum=jsonall.sum;  
  131.                         trail=jsonall.trail;  
  132.                         last=jsonall.last;  
  133.                         next=jsonall.next;  
  134.                         $("p1").innerHTML=current;  
  135.                         $("p2").innerHTML=trail;  
  136.                         $("p3").innerHTML=sum;  
  137.                         var jsonObj=jsonall.list;  
  138.                         //无刷新在此查询的时候把整个tbody删除  
  139.                         tb.removeChild(td);  
  140.                         var tdRow=document.createElement("tbody");  
  141.                         tdRow.setAttribute("id","td");  
  142.                         //把tbody加到table里面去  
  143.                         tb.appendChild(tdRow);  
  144.                         for ( var i = 0; i < jsonObj.length; i++) {  
  145.                             var el = jsonObj[i];  
  146.                             //创建节点  
  147.                             var trRow=document.createElement("tr");  
  148.                             var tdRow1=document.createElement("td");  
  149.                             var tdRow2=document.createElement("td");  
  150.                             var tdRow3=document.createElement("td");  
  151.                             var tdRow4=document.createElement("td");  
  152.                             var tdRow5=document.createElement("td");  
  153.                             var tdRow6=document.createElement("td");  
  154.                             var tdRow7=document.createElement("td");  
  155.                             var tdRow8=document.createElement("td");  
  156.                             var tdRow9=document.createElement("td");  
  157.                             tdRow1.innerHTML=el.empno;  
  158.                             tdRow2.innerHTML=el.ename;  
  159.                             tdRow3.innerText=el.job;  
  160.                             tdRow4.innerText=el.mgr;  
  161.                             //这个是装时期对象格式的  
  162.                             //var date=new Date();  
  163.                             //var hiredate;  
  164.                             //if(el.hiredate!=null){  
  165.                             //  date.setTime(el.hiredate);  
  166.                             //  hiredate=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();  
  167.                             //}else{  
  168.                             //  hiredate="";  
  169.                             //}  
  170.                             var hiredate=el.hiredate;  
  171.                             tdRow5.innerHTML=hiredate;  
  172.                             tdRow6.innerHTML=el.sal;  
  173.                             tdRow7.innerHTML=el.comm;  
  174.                             tdRow8.innerHTML=el.deptno;  
  175.                             tdRow9.innerHTML="<button onclick='toDelete("+el.empno+")'>删除</button><button onclick=toUpdate("+el.empno+",'"+el.ename+"','"+el.job+"','"+  
  176.                             el.mgr+"','"+hiredate+"','"+el.sal+"','"+el.comm+"','"+el.deptno+"')>更新</button>";  
  177.                             //把节点tdRow1加到trRow  
  178.                             trRow.appendChild(tdRow1);  
  179.                             trRow.appendChild(tdRow2);  
  180.                             trRow.appendChild(tdRow3);  
  181.                             trRow.appendChild(tdRow4);  
  182.                             trRow.appendChild(tdRow5);  
  183.                             trRow.appendChild(tdRow6);  
  184.                             trRow.appendChild(tdRow7);  
  185.                             trRow.appendChild(tdRow8);  
  186.                             trRow.appendChild(tdRow9);  
  187.                             tdRow.appendChild(trRow);  
  188.                         }  
  189.                     }  
  190.                 }  
  191.                 xmlHttp.send();  
  192.             }  
  193.         --></script>  
  194.     </head>  
  195. <body onload="toQuery(1)">  
  196.     <!-- http://localhost:8080/day20170609/emp.jsp -->  
  197.         ename<input type="text" name="ename" id="ename"/>  
  198.         <input type="button" value="查询" onclick="toQuery(current)"/>  
  199.         <input type="button" value="新增" onclick="document.getElementById('addDiv').style.display='block'"/><br/>  
  200.           
  201.         <table id="tb">  
  202.             <thead>  
  203.                 <tr>  
  204.                     <td>empno</td>  
  205.                     <td>ename</td>  
  206.                     <td>job</td>  
  207.                     <td>mgr</td>  
  208.                     <td>hiredate</td>  
  209.                     <td>sal</td>  
  210.                     <td>comm</td>  
  211.                     <td>deptno</td>  
  212.                      <td>操作</td>  
  213.                 </tr>  
  214.             </thead >  
  215.             <tbody id="td">  
  216.                   
  217.             </tbody>  
  218.         </table>  
  219.             <input type="image" src="${pageContext.request.contextPath}/day20170609/image/18.gif" onclick="toQuery(1)"/>  
  220.             <input type="image" src="${pageContext.request.contextPath}/day20170609/image/20.gif" onclick="toQuery(last)"/>  
  221.               当前<span id="p1"></span>页  总<span id="p2"></span>页  总:<span id="p3"></span>  
  222.             <input type="image" src="${pageContext.request.contextPath}/day20170609/image/16.gif" onclick="toQuery(next)"/>  
  223.             <input type="image" src="${pageContext.request.contextPath}/day20170609/image/14.gif" onclick="toQuery(trail)"/>  
  224.         <!-- 新增的div-->  
  225.         <div id="addDiv" style="display:none;position: absolute;left: 65%;top: 14%;width: 300px;height:200px;background:linear-gradient(to bottom,skyblue,gray);border: 1px solid black;">  
  226.                 ENAME:<input type='text' name='ename' id='a1'>  
  227.                 <br/>  
  228.                 JOB:<input type='text' name='job' id='a2'>  
  229.                 <br/>  
  230.                 MGR:<input type='text' name='mgr' id='a3'>  
  231.                 <br/>  
  232.                 HIREDATE:<input type='text' name='hiredate' id='a4'>  
  233.                 <br/>  
  234.                 SAL:<input type='text' name='sal' id='a5'>  
  235.                 <br/>  
  236.                 COMM:<input type='text' name='comm' id='a6'>  
  237.                 <br/>  
  238.                 DEPTNO:<input type='text' name='deptno' id='a7'>  
  239.                 <br/>  
  240.                 <input type='button' value="新增"  onclick="toAdd()">  
  241.                 <input type='button' value="关闭" onclick="document.getElementById('addDiv').style.display='none'">  
  242.         </div>  
  243.           
  244.         <!-- 修改的div-->  
  245.         <div id="updateDiv" style="display:none;position: absolute;left: 65%;top: 14%;width: 300px;height:200px;background:linear-gradient(to bottom,skyblue,gray);border: 1px solid black;">  
  246.                 <input type='hidden' name='empno' id='empNoId'>  
  247.                 ENAME: <input type='text' id="updateEname"  name='ename'>  
  248.                 <br/>  
  249.                 JOB: <input type='text' id="updateJob"  name='job'>  
  250.                 <br/>  
  251.                 MGR: <input type='text' id="updateMgr"  name='mgr'>  
  252.                 <br/>  
  253.                 HIREDATE: <input type='text' id="updateHiredate"  name='hiredate'>  
  254.                 <br/>  
  255.                 SAL: <input type='text' id="updateSal"  name='sal'>  
  256.                 <br/>  
  257.                 COMM: <input type='text' id="updateComm"  name='comm'>  
  258.                 <br/>  
  259.                 DEPTNO: <input type='text' id="updateDeptno"  name='deptno'>  
  260.                 <br/>  
  261.                 <input type='button' value='修改' onclick="toUpdate1()">  
  262.                 <input type='button' value="关闭" onclick="document.getElementById('updateDiv').style.display='none'">  
  263.         </div>  
  264. </body>  
  265. </html>