티스토리 뷰

Springi Batis 7-3 파라미터 매핑

iBatis는 내부적으로 PreparedStatement 객체를 이용함

파라미터 값을 필요로 함.

자바빈, 원시 래퍼 객체(String, Integer, Object), java.util.Map

만일 단일값(Scalar Value)을 파라미터로 전달할 때는 해쉬명은 의미없음(#id#)

<sqlMap>

<statement id="getUser" parameterClass="java.lang.String"

resultClass="com.multicampus.biz.vo.UserVO">

SELECT ID, PASSWORD, NAME, ROLE FROM USERS WHERE ID=#id#

</statement>

</sqlMap>

자바빈을 전달할 때는 VO 객체의 속성명을 해시명으로 지정하면 됨.

파라미터 처리 방식

# 대입자

해시 문법

PreparedStatement 에서의 ?와 동일한 작동 방식

문자열을 이어붙이는 방식 아님

$ 대입자

문자열을 이어붙이는 작업이 먼저 일어남.

SQL Injection 공격에 취약함

입력값 검증을 철저하게 해주어야 함.

성능 저하의 가능성 존재

댓글