변수 이고 실제 쿼리에서 '(호따움표)가 붙습니다.
PreparedStatement 에서 ? 에 들어갈 값입니다.
ex)
select * from board where id=#{id}
이렇게 되어 있다면
myBatis 내부적으론
1
2
3
4
5
| String sql = "select * from board where id = ?" PreparedStatement ps = .... . . ps.setString(1,id) |
2.${value}
상수 이고 '(호따움표)가 붙지 않습니다. (sql 인젝션 위험이 있음)
sql 문장을 만듭니다.
동적 테이블,컬럼에도 사용됩니다.
${myColumn} = #{value}이런식도 가능합니다.
select * from board where id='${id}'
이렇게 되어 있다면
myBatis 내부적으론
1
2
3
| String sql = "select * from board where id = 'aaa'" //sql자체를 만듬 PreparedStatement .. . |
[출처:JAVA Project - Spring 강좌]
댓글 없음:
댓글 쓰기