몰아 넣기
[JAVA/Spring/MyBatis]동적 쿼리문이란?
뽀글이아저씨
2021. 7. 29. 01:25
동적 쿼리문이란?
- JSTL과 같이 <if> <when> <otherwise>를 사용하여 쿼리를 동적으로 사용할 수 있다.
예시)
<when test = '조건식'>
<when test = "조건식" >
- 자주 실수하는 부분 -
조건식에서 연산자 사용시 && || 가 아닌 and , or 를 사용
JSTL형태로 Mybatis에서 작성하는 경우
아래의 코드를 보면 Mapper에 choose 와 when , otherwise가 작성된것을 볼 수 있다 만약에 DAO에서 넘겨준 GAME_LEVEL의 값이 1단계일 경우 초보 , 2단계 일 경우 중수, 3단계 일 경우 고수로 데이터베이스에 저장된다
<insert id="insertGame" parameterType="String">
INSERT INTO GAME_EX (
GAME_LEVEL,
GAME_NAME)
VALUES (
<choose>
<when test="productName.equals('1단계')">
"초보"
</when>
<when test="productName.equals('2단계')">
"중수"
</when>
<when test="productName.equals('3단계')">
"고수"
</when>
<otherwise>
"게임을 시작해주세요"
</otherwise>
</choose>
,
#{GAME_NAME} )
</insert>