AMAD's Tech blog

There is no getter for property named 'sql'

by AMAD

 

에러와 오류에 지친 여러분께 심심한 위로의 뜻을 전합니다. 

아울러 해당 포스팅은 개발 실력 향상을 위한 학습형 포스팅과는 성격이 다르다는 점 밝힙니다. 원인과 결과, 해당 오류의 해결을 위한 짤막한 글로 구성되어 있다는 것을 알려드리며, 모쪼록 이 페이지가 여러분의 마지막 검색이 되길 기원합니다.

 

에러문구

요약: mybatis로 sql문 만들기 복잡할 듯하여 String으로 sql문 완성 후 'sql'이라는 String 변수에 담긴 구문을 매퍼에 전달시키는 상황

 

요청 당시 소스코드(서비스, 매퍼, xml)

서비스

요약: DDL(create table) 구문 작성

 

매퍼

 

매퍼xml

 

리퀘스트

요약: 테이블 이름 wgtable로 create 요청 - 컬럼 2개 생성 (test1, test2) 컬럼 타입은 (varchar, int)

 

But!!

돌아오는건 에러...

 

String 변수를 매퍼에 전달할 때에는 무조건 value 라는 변수명으로 전달하기! 

 

코드 수정

수정한 서비스

 

수정한 매퍼

 

수정한 xml

 

주의 사항!!

xml에 value전달시 #바인딩 말고 $로 전달하기!!

 

#으로 바인딩 할 경우 위 에러 발생

 

$로 수정

 

DDL 결과

 

블로그의 정보

성장 하고 싶은 개발자

AMAD

활동하기