728x90
반응형

1.#{value} 
변수 이고 실제 쿼리에서 '(호따움표)가 붙습니다. 
PreparedStatement 에서 ? 에 들어갈 값입니다. 

ex) 
select * from board where id=#{id} 
이렇게 되어 있다면 
myBatis 내부적으론 
<code> 
String sql = "select * from board where id = ?" 
PreparedStatement ps = .... 


ps.setString(1,id) 
</code> 


2.${value} 
상수 이고 '(호따움표)가 붙지 않습니다. (sql 인젝션 위험이 있음) 
sql 문장을 만듭니다. 
동적 테이블,컬럼에도 사용됩니다. 
${myColumn} = #{value}이런식도 가능합니다. 

select * from board where id='${id}' 
이렇게 되어 있다면 
myBatis 내부적으론 

<code> 
String sql = "select * from board where id = 'aaa'"//sql자체를 만듬 
PreparedStatement .. 


</code> 

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

USB 디버깅 ?  (0) 2015.04.06
java 대소문자 구분없이 문자열 바꾸기 - (?i)  (0) 2015.04.06
Mybatis #와 $의 차이점  (0) 2015.04.06
<![CDATA[<]]>  (0) 2014.07.08
display:block 테이블깨짐현상  (2) 2014.06.30

+ Recent posts