조건문에는 단일(if), 다중(choose, when, otherwise) 조건문이 있습니다.
1. 단일 조건문
1 2 3 4 5 6 7 8 9
<selectid="findBySearch"resultType="Sample"parameterType="SearchParam"> SELECT * FROM TB_SAMPLE WHERE column1 = #{parameter1} <iftest="parameter2 != null and parameter2 != ''"> AND column2 LIKE %'||#{parameter2}||'%' </if> </select>
2. 다중 조건문
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<selectid="findBySearch"resultType="Sample"parameterType="SearchParam"> SELECT * FROM TB_SAMPLE WHERE column1 = #{parameter1} <choose> <whentest="parameter2 != null and parameter2 == ''"> AND column2 = #{parameter2} </when> <otherwise> AND column3 = #{parameter3} </otherwise> </choose> </select>
비교 형식
1 2 3 4 5 6 7 8 9
<!-- 문자열 비교 --> <iftest="parameter != null and (parameter eq 'all'.toString())"></if> <iftest="!parameter.equals('all')"></if>
<!-- 공백 비교 --> <iftest="parameter == ' '"></if>
<!-- 값 비교 --> <iftest="uesYn == 'Y'"></if>
for 문
foreach를 사용하여 조건을 만들 수 있습니다.
1 2 3 4 5 6 7 8
<selectid="findBySearch"resultType="Sample"parameterType="SearchParam"> SELECT * FROM TB_SAMPLE WHERE <foreachitem="item"index="index"collection="list"open="("separator=","close=")"> column1 IN ${item} </foreach> </select>
where 절
1 2 3 4 5 6 7 8 9 10 11 12
<selectid="findBySearch"resultType="Sample"parameterType="SearchParam"> SELECT * FROM TB_SAMPLE <trimprefix="WHERE"prefixOverrides="AND|OR"> <iftest="parameter1 != null and parameter1 != ''"> AND column1 = #{parameter1} </if> <iftest="parameter2 != null and parameter2 != ''"> AND column2 = #{parameter2} </if> </trim> </select>
Posts
2025년, C# 개발자가 반드시 알아야 할 10가지
백엔드 개발이든, 클라이언트 사이드 로직을 다루는 풀스택 개발이든, 클라우드 네이티브 환경에서 서비스 배포를 담당하는 엔지니어든, 2025년에는 여러분의 개발 흐름에서 주목해야 할 변화들이 있습니다. 다음은 2025년에 반드시 알아야 할 C#의 10가지 핵심 사항입니다
시니어 .NET 개발자가 전하는 17가지 핵심 팁
초보자든, 몇 년의 경험을 쌓은 개발자든 상관없이, 이 글은 실제 개발 경험에서 얻은 교훈과 실수, 그리고 깨달음을 바탕으로 작성되었습니다. 이제부터 .NET 개발자로서 반드시 알아야 할 최고의 팁과 트릭을 공유하겠습니다. 1. 비동기 프로그래밍(Async Progra
ChatGPT를 활용하여 10배 빠르게 코딩하는 방법
많은 개발자들이 ChatGPT를 활용하고 있지만, 단순한 코드 생성에 그치는 경우가 많습니다. 하지만 상위 1% 개발자들은 ChatGPT를 단순한 코드 생성기가 아니라 개발 파트너로 활용하여 복잡한 시스템을 빠르게 구축하고 있습니다. 다음은 ChatGPT를 사용하여 생
Docker 전문가들이 99%까지 이미지 크기를 줄이는 숨겨진 기술
Docker 이미지는 디스크 공간을 차지하고 배포 속도를 늦추는 문제를 유발할 수 있습니다. 하지만 최상위 DevOps 팀들은 이미 이미지 크기를 최대 99%까지 줄이는 기술을 활용하고 있습니다. 이번 글에서는 이러한 숨겨진 최적화 기법을 공개합니다. 🚀 과도한 Do
.NET 성능 저하 안티 패턴 10가지와 해결 방법
애플리케이션의 성능 병목 현상은 효율성, 확장성, 사용자 경험을 저하시킬 수 있습니다. 많은 .NET 개발자들은 무의식적으로 성능을 저하시킬 수 있는 안티 패턴을 따르게 됩니다. 이번 글에서는 대표적인 .NET 성능 저하 안티 패턴 10가지를 살펴보고, 그것이 왜 문제
Pages
About
안녕하세요. 블로그를 시작한지 얼마 안 된 새내기입니다. 이전에는 네이버 블로그에 조금씩 업로드를 하였었는데, Github 에 연동된 블로그가 있어 시작하게 되었습니다. 개발 경력은 쌓이는데 개발에 대한 내용을 기록한 적이 많이 없어 이번 계기로 열심히 기록해보려고 합
Profile
보유기술 Programming Laguage Java, JavaScript, TypeScript, HTML5, CSS Python, Dart C#, C++ Framework / Library Spring Framework, Spring Boot, JPA, Queryds