반응형
목차
mybatis에 데이터 전달 시 vo의 필드와 vo안의 list 동시 전달
javascript
if (confirm("저장하시겠습니까?")) {
dlbrList = [];
$('#tab3Body tr').each(function() {
var rowData = {
'exmnSn': $(this).find('#exmnSnId').val()
}
dlbrList.push(rowData);
});
var paramData = {
cmitNo: $("#cmitNoId").val(),
mtgMngNo: $("#mtgMngNoId").val(),
//vo안의 list명과 일치해야 함
dlbrList: dlbrList
};
$.ajax({
url: '/save.do',
method: 'POST',
data: JSON.stringify(paramData),
dataType:'json',
contentType: 'application/json',
success: function (data) {
if (data.code === "1") {
alert("성공");
fn_moveList();
} else {
alert("실패");
}
},
error: function (err) {
alert("오류");
console.error('Error fetching data: ', err);
}
});
}
controller
@PostMapping("/save.do")
public ModelAndView save(@RequestBody DlbrVO paramVO) {
ModelAndView mav = new ModelAndView();
mav.setViewName("jsonView");
mav.addObject("code", dlbrService.selectList(paramVO));
return mav;
}
vo
@Data
public class DlbrVO {
private String cmitNo;
private String mtgMngNo;
private String exmnSn;
//화면에서 전달하는 list명과 일치해야 함
private List<DlbrVO> dlbrList = new ArrayList<>();
}
mapper
public List<DlbrVO> selectList(DlbrVO paramVO);
mybatis
<select id="selectList" parameterType="DlbrVO" resultType="DlbrVO">
SELECT *
FROM BOARD
<where>
<!-- vo의 필드값 -->
AND MTG_MNG_NO = #{mtgMngNo} AND CMIT_NO = #{cmitNo}
AND EXMN_SN IN
<!-- vo안의 dlbrList의 값 -->
<foreach collection="dlbrList" item="item" open="(" separator="," close=")">
#{item.exmnSn}
</foreach>
</where>
</select>
전달 parameter값 예시
DlbrVO: {
cmitNo: "1"
, mtgMngNo: "mtg00001"
, dlbrList:[
{
cmitNo: ""
, mtgMngNo: ""
, exmnSn: "1"
}
,
{
cmitNo: ""
, mtgMngNo: ""
, exmnSn: "2"
}
]
}
개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.
틀린 점 있을 경우 댓글 부탁드립니다.
반응형
'IT > development' 카테고리의 다른 글
[Oracle] 비밀번호 만기 해제 (30) | 2024.04.11 |
---|---|
[Git] git reflog 예시 (33) | 2024.04.08 |
[mybatis] mybatis data binding (feat. vo) (24) | 2024.03.17 |
[JavaScript] 다중 select 예시(feat. 지역코드) (31) | 2024.03.01 |
[Chart.js] 통계 데이터 차트 생성 (feat. 안이쁨) (28) | 2024.03.01 |