개발 관련/etc
#{} 와 ${}
홍비
2018. 11. 27. 00:19
mybatis를 사용하면 심심찮게 볼 수 있는 표시.
#{ }
파라미터가 string 형태로 들어오게 됨.
ex) #{ user_id } -> user_id의 값이 abc라면, 쿼리문에서는 user_id='abc'의 형태라고 볼 수 있음.
때문에, 쿼리 주입 예방이 가능해, 보안 측면에서 유리함
${ }
파라미터를 바로 출력해준다.
해당 컬럼의 자료형에 따라 파라미터의 자료형이 변경되어, 쿼리 주입 예방이 안돼 보안이 불리함
테이블이나 컬럼명을 파라미터로 전달 시 사용함