IT
<IT_SQL> $ 쿼리 교체 ( 달러 case 문으로 교체 )
달남
2019. 12. 16. 14:59
$가 쿼리에 사용되면 해킹의 위험이 있으므로 모두 변경되어야 한다.
1. 원문
<if test=" schlFullNm !='' and schlFullNm != null ">
AND A.LST_${COLUMLAUNG}_SCHL_NM LIKE '%'||#{schlFullNm}||'%'
</if>
2. 수정문 아래와 같이 choose 문으로 수정하면 됩니다.
<if test=" schlFullNm !='' and schlFullNm != null ">
<choose>
<when test="COLUMLAUNG eq 'ENG'">
AND A.LST_ENG_SCHL_NM LIKE '%'||#{schlFullNm}||'%'
</when>
<when test="COLUMLAUNG eq 'CHS'">
AND A.LST_CHS_SCHL_NM LIKE '%'||#{schlFullNm}||'%'
</when>
<otherwise>
AND A.LST_KOR_SCHL_NM LIKE '%'||#{schlFullNm}||'%'
</otherwise>
</choose>
</if>
위와 같은 방법은 다국어를 급하게 처리할때 다국어 컬럼을 만들어서 그렇다
다국어는 다국어 테이블을 별로로 만들어서 처리하는것이 좋다.