728x90
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '파라미터명' not found. Available parameters are [arg1, arg0, param1, param2]
발생 원인
MyBatis를 이용한 SQL Mapper의 메소드는 하나의 파라미터만을 읽음.
즉, 파라미터의 개수가 2개 이상일 때 발생. 해당 데이터가 어떤것인지 명시하지않으면 에러 발생함
해결방안
- @Param 어노테이션 사용
- 파라미터명, 바인딩될 변수명을 arg0, arg1, ....... 으로 맞춰주기
- 파라미터명, 바인딩될 변수명을 param1, param2, ..... 으로 맞춰주기
- Compile Option에 -parameters 추가
내가 사용한 해결방법
public interface Dao {
// 에러발생 기존코드 ↓
// public List<Dto> selectWord(int mainId, String detContent);
//@Param어노테이션으로 구분
public List<Dto> selectWord(@Param("mainId") int mainId, @Param("detContent") String detContent);
}
728x90
'STUDY > SpringLegacy' 카테고리의 다른 글
[Spring] Log4j2 사용해 상세한 SQL 쿼리 로그 출력 설정 (0) | 2024.04.29 |
---|---|
[Spring] Lombok 설치 및 STS 연동하기 (0) | 2024.04.24 |
[Spring] 정적 리소스(Static Resources) 설정 방법 (0) | 2024.04.24 |
[Spring] mybatis camelCase 적용하기 (0) | 2024.04.24 |
[STS] STS버전 이클립스버전 확인하기 (0) | 2024.04.22 |