Spring Boot
Mybatis 사용시 SQL <!cdata[ 쿼리문 ]]>
Linda~!
2020. 11. 24. 15:36
Mybatis 사용시 쿼리문에 문자열 비교연산자나 부등호를 처리할 때가있습니다.
그러면 < 와 같은 기호를 괄호인지 아니면 비교연산자 인지 확인이 되지않아요.
이외에도 특수문자 사용하는데 제한이있습니다.
CDATA 안에 들어가는 문장을 문자열로 인식하게 합니다.
<select id="findAll" resultType="com.linda.baseball.web.dto.PlayerRespDto">
<![CDATA[
select p.id, p.name as playerName, p.position, p.createDate, t.name as teamName
, ( SELECT COUNT(*) + 1 FROM player WHERE name < p.name ) as No
from player p INNER JOIN team t
ON p.teamId = t.id
order by No;
]]>
</select>
이렇게 사용하면 SQL안에 특수문자가 들어가도 문자열로 인식하기때문에
문제를 해결할수있습니다.