개발 관련/etc

#{} 와 ${}

홍비 2018. 11. 27. 00:19

mybatis를 사용하면 심심찮게 볼 수 있는 표시.

 

#{ }

파라미터가 string 형태로 들어오게 됨.

ex) #{ user_id } -> user_id의 값이 abc라면, 쿼리문에서는 user_id='abc'의 형태라고 볼 수 있음.

 

때문에, 쿼리 주입 예방이 가능해, 보안 측면에서 유리함

 

 

${ }

파라미터를 바로 출력해준다.

해당 컬럼의 자료형에 따라 파라미터의 자료형이 변경되어, 쿼리 주입 예방이 안돼 보안이 불리함

테이블이나 컬럼명을 파라미터로 전달 시 사용함