반응형

mybatis에서 mapper.xml(쿼리 작성해 놓는 xml파일)에서 파라미터를 쓸때,

2가지가 혼용되어 쓰이고 있어서 다시 한번 정리해봤습니다.

 

#{}

  • 파라미터가 String으로 들어와서(= 자동으로 '' 붙는다) 자동으로 '파라미터 '으로 적용
    • ( : where id = #{id} 이고 id 값이 1234, 쿼리에는 where id = '1234' 출력)
  • SQL Injection 예방

 

${}

  • 파라미터가 그대로 출력
  • 컬럼의 자료형에 맞춰 파라미터의 자료형이 변경
    • 사용자의 입력을 그대로 전달하는 경우에는 부적당
    • 테이블, 컬럼명을 파라미터로 전달할때 적당
  • SQL Injection 예방할 없음
반응형

+ Recent posts