티스토리 뷰

ajax에 data를 배열로 보낼때 해당 배열 값(self.updateList)은

[ { seq: "", yn: "" }, {seq:"", yn :""}];

이런식으로 배열로 담겨있다.

$.ajax({
  url: config.contextPath + "/ext/rest/test",
  type: "POST",
  dataType:"JSON",
  traditional : true, //필수
  data: {list : JSON.stringify(self.updateList)},
  success: function(result){
    alert("저장되었습니다.");
    self.selectList();
  },
  error: function (error){
  	alert('다시 시도하세요');
  }
});

 

 

- controller.java ( 받은 데이터를 json으로 변환하여 사용)

@RequestMapping(method = RequestMethod.POST, produces = "application/json")
@BindUserInfo
public int updaterInfo(@RequestParam Map<String, Object> paramMap) throws Exception {
  String jsonData = paramMap.get("list").toString();
  JSONParser parser = new JSONParser();
  Object obj  = parser.parse(jsonData);

  paramMap.put("list", obj);

  return service.updateInfo(paramMap);
}

 

- mybatis 반복문

<update id="updateInfo" parameterType="cMap">
/*mapper.updateInfo*/
<foreach item="item" index="index" collection="list">
  UPDATE MH_SRV_HUMAN_REVOLUTION_POPULAR_SEARCH
  <trim prefix="SET" suffixOverrides=",">
  USE_YN = #{item.useYn},
  UPDATE_ID = #{updateId},
  UPDATE_DATETTIME = NOW()
  </trim>
  WHERE SEARCH_SEQ = #{item.seq}
</foreach>

</update>
댓글
링크
최근에 올라온 글
Total
Today
Yesterday