mybatis #{value}와 ${value} 차이
쿼리의 생성방식의 차이라고 알고있습니다.
#을 사용한 쿼리는
UPDATE ? SET HIDDNE = ? WHERE ID = ?
이런식으로 쿼리가 preparedStatement를 사용해 생성되고
$를 사용한 쿼리는
UPDATE name SET HIDDNE = a WHERE ID = b
이런식으로 상수로 박혀서 생성이 됩니다.
$를 사용하는 경우 보안이슈에 주의해야 합니다.
UPDATE 쿼리의 기본 구조는
UPDATE 테이블 SET 컬럼 = 데이터 WHERE 조건
입니다
mybatis 에서 #{} 를 사용하면 자동으로 ''를 붙여주는데 테이블 명을 #{} 으로 감쌋다면
UPDATE '테이블' SET 컬럼 = 데이터 WHERE 조건
이런 형식이 되니 에러를 발생시는것 같습니다
'Spring > study' 카테고리의 다른 글
spring 6강 Oracle과 mybatis 연동 실습(자바 코드에 SQL 명령어를 함께 작성하는 방식) (0) | 2019.06.06 |
---|---|
스프링 한글 처리를 위한 인코딩 필터 (0) | 2019.06.05 |
spring 5강 Oracle과 mybatis 연동 실습(회원 목록,등록,수정,삭제) (0) | 2019.06.05 |
Spring Framework (Legacy) spring01 프로젝트 뜯어보기 (0) | 2019.06.03 |
Spring MVC 전체 흐름 파악하기 (0) | 2019.05.31 |