본문으로 바로가기

[MyBatis] 파라미터 전달법 - #과 $는 다르다.

category MyBatis 2016. 7. 25. 11:33


참고: http://www.mybatis.org/mybatis-3/ko/sqlmap-xml.html#Parameters


#{} 문법은 마이바티스로 하여금 PreparedStatement프로퍼티를 만들어서 PreparedStatement파라미터(예를들면 ?)에 값을 셋팅하도록 할 것이다. JDBC를 사용할 때 PreparedStatement는 “?”형태로 파라미터가 전달된다. 

// JDBC 코드와 유사함, 마이바티스 코드는 아님…
String selectPerson = "SELECT * FROM PERSON WHERE ID=?";
PreparedStatement ps = conn.prepareStatement(selectPerson);
ps.setInt(1,id);


반면 가끔은 SQL 구문에 변하지 않는 값으로 삽입하길 원하기도 한다. 예를들면 ORDER BY와 같은 구문들이다.
여기서 마이바티스는 문자열을 변경하거나 이스케이프 처리하지 않는다.
반응형

'MyBatis' 카테고리의 다른 글

mybatis 쿼리문 작성시 유의사항 - 계속정리할것  (0) 2016.12.29