반응형
안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.
MyBatis에서의 substitution(대체) 공식은
동적 SQL을 작성할 때 사용되는 방법 중 하나로,
SQL 쿼리 내에서 변수나 매개변수를 대체하는데 활용됩니다.
MyBatis에서는 '#{}'와 '${}' 두 가지 대체 문법을 제공하고 있습니다.
1. #{ } 문법
일반적으로 사용자 입력과 같은 동적인 값에 대한 대체에 사용됩니다.
SELECT * FROM users WHERE id = #{userId}
-- 실행 결과
SELECT * FROM users WHERE id = 'codegood'
-- #{userId}는 파라미터로 전달된 userId 값을 대체된 'codegood'로 변환된다.
#{userId}는 'userId'에 전달된 매개변수의 값으로 대체합니다.
2. ${ } 문법
테이블 이름, 컬럼명 등 정적인 SQL 구문의 대체에 사용됩니다.
SELECT ${userId}, ${userName} FROM ${tableName}
-- 실행 결과
SELECT id, name FROM users
-- id, name, users가 문자열 그대로 대체 됩니다.
${tableName}, ${userId}, ${name}은 단순히 문자열로 대체되어 SQL이 생성됩니다.
${ }은 정적인 SQL 구문에만 사용하는 것이 권장되는 방법입니다.
반응형
'IT 소스 > MyBatis' 카테고리의 다른 글
[MyBatis] <set> - SET절에 동적으로 필드를 추가하거나 생략 (0) | 2024.02.07 |
---|---|
[MyBatis] <trim> - 특정 조건에 따라 부분적으로 SQL 코드를 생략 (0) | 2024.02.05 |
[MyBatis] <where> - 'AND'나 'OR'와 같은 연산자를 자동으로 처리 (0) | 2024.02.04 |
[MyBatis] <choose>, <when>, <otherwise> - 조건구문 (0) | 2024.02.03 |
[MyBatis] <if> - 조건을 만족하면 SQL 코드를 생성 (0) | 2024.02.02 |