본문 바로가기
Database

[iBatis] 동적 컬럼 명, 테이블 명 설정

by 보리하늘 2017. 12. 19.
728x90
반응형

VO 에 있는 값을 넘겨받아 sql 쿼리로 사용할 경우,


테이블 명에 #을 붙여주면 에러가 발생하고 칼럼 명에 붙이면 데이터가 나오지 않는다.




SELECT ? FROM LP_PA_CBND

Parameters: [PNU]


$을 사용하면 값이 들어간 형태로 쿼리문이 만들어지기 때문에 '' 가 붙지 않는다.


반면 #을 사용하면 쿼리에서 '?' 형태로 파라미터를 받기 대문에 String 형으로 '' 가 붙게된다.





*** 해결방법


칼럼명 or 테이블명이 동적으로 바뀔땐 $를 붙여준다. 



1
2
3
4
5
6
<select id="common.selectAttFld" parameterClass="fldVO" resultClass="fldVO">
 
    SELECT #CODE# FROM $TABLE_NM$
</select>
 
cs


728x90
반응형

댓글