云醉月未眠

导航

update 不报错 但是不修改值得原因之一

第一种

ServiceImpl  如果使用 

1 public void updateEmp(Integer id,Emp emp) {
2         // TODO Auto-generated method stub
3         Map<String,Object> map = new HashMap<String,Object>();
4         map.put("id", id);
5         map.put("emp", emp);
6         dao.updateEmp(map);
7     }

则 EmpMapper.xml 

 

1 <update id="updateEmp" parameterType="java.util.Map">
2       
3       update Emp set empname=#{emp.empname},empbirth=#{emp.empbirth},5   </update>

里修改对象都需要

#{emp.empname} 

 

 

 

 

第二种 

 update 方法post 里   如果参数没有写入ID 

 1 @RequestMapping(value="/update.do",method=RequestMethod.GET)
 2     public String update(Model model,Integer id){
 3         Station s = empService.getEmpById(id);
 4         
 5         model.addAttribute("emp", s);
 6         
 7         return "houtai/back/emp/update";
 8         
 9     }
10     
11     @ResponseBody
12     @RequestMapping(value="/update.do",method=RequestMethod.POST)
13     public String update(Station emp){
14         empService.updateEmp(emp);
15         
16         return "true";
17         
18     }

 

@ResponseBody  这个注释的意思    将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流。



jsp 页面里 修改 这一项代码,这个@ResponseBody 返回字符串 如 : 修改方法中 return "true"


则 jsp 页面
如 : data=="true"
 1 function updateDept(){
 2             var id =$("input:first").val();
 3             $("#formupdate").ajaxSubmit({
 4                 
 5                 url:"<%=path%>/Emp/update.do?id="+id,
 6                 type:"post",
 7                 resetForm:false,
 8                 success:function(data){
 9                     if(data=="true"){
10                         //获取父窗口的window对象 
11                         var win = art.dialog.open.origin;  
12                         //调用父窗口的js方法refresh();
13                         win.refresh();
14                         //关闭对话框
15                         art.dialog.close();
16                     }else{
17                         alert(data.message);
18                     }
19                 },  
20                 error:function(xhr,textStatus,errorThrown){  
21                     alert("修改员工失败,请重试");
22                 } 
23             });
24         }

 










 

ServiceImpl 

1 public void updateStation(Station emp) {
2         // TODO Auto-generated method stub
3         
4         dao.updateEmp(emp);
5         
6     }

 

 则 xml 里 sql 语句为

 

   
  <update id="updateEmp" parameterType="Emp" >
          update Emp set empname=#{empname},empbirth=#{empbirth} where empid=#{empid}
  </update>

就不需要第一种SQL。

 

posted on 2017-03-11 08:58  别皱眉  阅读(270)  评论(0编辑  收藏  举报