티스토리 뷰

java.sql.SQLException: 부적합한 열 인덱스


iBatis 사용 시 부적합한 열 인덱스 에러가 발생하는 경우


1. 변수명이 잘못된 경우

👉 iBatis(~sql.xml) 에서 사용하는 변수명이 Java(VO) 에서 생성한 Getter 와 일치하는지 확인
     (사용자 Parameter를 받아서 쿼리 실행할 때)

👉 위와 반대로 쿼리의 컬럼명과 VO의 Setter 가 다른 경우
      (쿼리 결과를 VO에 담아 리턴할 때)

👉 변수명이 제대로 세팅되었음에도 에러가 발생하는 경우는 순서에 맞게 세팅되었는지 확인

2. 쿼리의 주석에 변수가 포함되어 있는 경우

👉 주석에 변수명이 있는 경우 해당 변수를 주석에 상관없이 참조하려 하는데, 이 과정에서 에러 발생

👉 아래와 같이 주석에 변수명이 포함되어 있는 경우 주석 처리된 변수를 바인딩 대상으로 인식해버리므로 삭제하거나 바인딩 문자를 제거

SELECT 
    COLUMN_NAME1,
    COLUMN_NAME2,
    COLUMN_NAME3
FROM    TABLE_NAME
WHERE   COLUMN_NAME1 = #COLUMN_NAME1#
/* AND     COLUMN_NAME2 = #COLUMN_NAME2# */ 👈 변수명이 포함된 주석 삭제

참고자료

참고. ibatis 부적합한 열인덱스


'MyBatis' 카테고리의 다른 글

<foreach>  (0) 2017.10.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함