본문 바로가기

Spring Boot

Mybatis 사용시 SQL <!cdata[ 쿼리문 ]]>

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안에 특수문자가 들어가도 문자열로 인식하기때문에

문제를 해결할수있습니다. 

'Spring Boot' 카테고리의 다른 글

스프링부트 도커에 연결할 때 귀찮은  (0) 2020.10.09
vo dto 차이  (0) 2020.10.06
@PageableDefault(  (0) 2020.09.13
react-jwt-spring  (0) 2020.08.19
리플렉션  (0) 2020.08.19