[Mybatis] #{}와 ${} 차이
2023. 5. 30. 20:28
프로그래밍/Mybatis
Mybatis #{}와 ${} 표기법 일반적으로 #{}을 사용하여 값을 전달하고, ${}을 사용하여 동적인 SQL을 작성하는 것이 안전하고 권장되는 방법임 ${}의 경우 사용자 입력 값을 포함할 때 주의해야 하며, 반드시 값의 이스케이프와 SQL Injection 방어를 수동으로 처리해야 함 #{} 표기법 SELECT * FROM users WHERE id = #{userId} #{} 안에는 자바 객체의 프로퍼티 이름이나 매개변수 이름 적음 #{} 안에 작성된 값은 자동으로 PreparedStatement의 파라미터로 설정되며, 자동으로 값의 타입에 맞게 변환 #{}은 SQL Injection 공격을 방지하기 위해 내부적으로 값을 이스케이프(escape)하여 처리함 ${} 표기법 SELECT * FROM..