본문 바로가기

개발 관련/etc

#{} 와 ${}

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

 

#{ }

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

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

 

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

 

 

${ }

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

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

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

'개발 관련 > etc' 카테고리의 다른 글

[AWS&Docker 다뤄보기] 1. AWS와 Docker  (0) 2020.01.24
[CLion] MinGW 한글 깨짐  (0) 2019.11.27
[CleanCode] 10. 클래스  (0) 2019.11.24
[CleanCode] 9. 단위 테스트  (0) 2019.11.23
프로그래밍할 때 생각할 것  (0) 2019.01.28