오류 구문
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'r_content' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
컨트롤러
@PostMapping("/goingDraftNo")
public String goingDraftNo(Model model, DraftVO draft, ReturnVO back, RedirectAttributes rttr) {
// 진행문서를 '반려' 상태로 update
service.draftNo(draft);
// 진행문서를 반려기록함 테이블에 insert
service.returnInsert(back);
rttr.addFlashAttribute("result", "noDraftSuccess");
return "redirect:/goingDraft";
}
잘 돌아가게 수정된 코드임.
insert 부분이 안 돼서 골머리였음.
오류 원인
Mybatis는 한 가지 자료형밖에 처리를 못함.
컨트롤러단에서 서비스단으로 던지는 객체 개수는 한 개여야 함.
나는 3개를 던지려고 했었는데, 2개여도 문제가 생긴다고 한다.
해결법
나처럼 컨트롤러에서 한 가지 VO에 뭉쳐서 던지거나,
컨트롤러에서 매퍼로 객체나 변수를 던질 때 Map 함수를 사용하여 하나로 뭉쳐서 던져주거나,
컨트롤러에서 @Param을 쓰고 매퍼에서 ParameterType을 써주는 방법이 있다.
'Java > Spring' 카테고리의 다른 글
[Tomcat 오류] May be locked by another process. (0) | 2019.12.23 |
---|---|
[Spring] 한 VO에서 다른 VO로 캐스트가 안 된다는 오류 해결 (0) | 2019.11.19 |
[Spring] 프로젝트 import 404 오류 해결 모음 (0) | 2019.11.15 |
[Spring] jsp에서 날짜 시간 받아서 mySQL에 저장하기 (0) | 2019.11.14 |
[Spring] 컨트롤러에서 서비스로 Session값 넘기기 (0) | 2019.11.14 |
댓글