MyBatis - #{}과 ${} 차이

GARY·2022년 6월 16일
0

회사에서 쿼리문을 작성하면서 #{}과 ${}를 쓰다 보니 둘의 차이가 뭔지 궁금해졌다.

#{}

파라미터가 String 형태로 들어와 자동적으로 '파라미터' 형태
쿼리 주입을 예방할 수 있어 보안측면에서 유리

예시

  • #{order_by}의 order_by 값이 desc라면 쿼리문에는 order_by = 'desc' 형태

${}

파라미터가 바로 출력
쿼리 주입을 예방할 수 없어 보안측면에서 불리(사용자의 입력을 전달할때는 비추)

  • 테이블이나 컬럼명을 파라미터로 전달하고 싶을 때 사용, 해당 컬럼의 자료형에 맞추어 파라미터의 자료형이 변경
profile
개발하는 개린이 개리

0개의 댓글