반응형
Statement
-
[MyBatis] #{} 와 ${} 차이점MyBatis 2021. 4. 4. 11:56
MyBatis에서 쿼리문에 파라미터 값을 설정하기 위해 #{}과 ${}를 사용하는데, 다음과 같이 차이가 있습니다. #{} 이란? 1.#{} 사용 시 PreparedStatement(동적) 생성합니다. 2.PreparedStatement 매개 변수 값에 문자열을 직접 삽입하지 않고, 물음표(?)에 파라미터가 바인딩되어 수행됩니다. 3.문자열에 따옴표('')가 붙습니다. #{}을 사용할 경우 실행 방식 1.MyBatis Mapper에서 작성된 쿼리 SELECT * FROM USER WHERE ID = #{ID} 2.데이터베이스에 전달하는 쿼리 SELECT * FROM USER WHERE ID = ? 3.실제 수행하는 쿼리 SELECT * FROM USER WHERE ID = 'ADMIN' ${} 이란? 1..