IT/SQL

Mybatis #{} , ${} 차이

봉즙 2020. 7. 7. 22:07

#{}

쿼리 주입 예방, 보안 유리하다.
파라미터라 String으로 들어와 '파라미터'의 형태를 가진다.

${}

파라미터가 바로 출력된다.
해당 컬럼의 자료형에 맞춰 파라미터의 자료형이 변경된다.
쿼리 주입 예방할수 없어 보안 측면에서 불리, 사용자의 입력을 전달할때는 사용하지 않는 것이 좋다. 
테이블이나 컬럼명을 파라미터로 전달할 때 사용, #{}의 경우 ''가 붙어 이용하기 어렵다.