Database
-
MyBatis - <choose>, <when>, <otherwise> 태그Database/MyBatis 2022. 3. 21. 15:30
, , 태그 , , 의 이해 태그의 경우 조건식이 참인 모든 태그 내 쿼리문이 실행된다. 반면에, 태그 같은 경우 조건식이 참인 태그를 찾으면 해당 태그의 쿼리문만 실행한다. 다시 말해 조건식을 가진 여러 개의 태그 중 오로지 한 개의 태그 내 쿼리문을 실행하는 것이다. 대부분의 프로그래밍 언어에서 사용되는 if-else if 절과 비슷한 역할을 수행한다. 쿼리문01 쿼리문02 쿼리문03 쿼리문04 쿼리문05 태그 안에서 태그와 를 작성한다. 태그는 각각 test 속성을 가지며 해당 속성 안에 조건식을 작성한다. 태그가 실행되면 태그의 조건식을 순서대로 확인하여 참을 반환하는 태그 내 쿼리문을 실행하게 된다. 만약 태그의 조건식 중 참을 반환하는 것이 없을 경우 태그 내에 작성된 쿼리문이 실행된다. 추가..
-
MyBatis - MyBatis의 <if> 태그Database/MyBatis 2022. 3. 21. 15:01
태그 태그의 활용 MyBatis의 태그는 조건식이 참인 경우 쿼리문을 실행한다. 전달받은 파라미터의 값에 따라 쿼리문을 동적으로 변할 수 있게 해 준다. 주로 where 절의 일보에 포함되어서 사용한다. 태그의 test 속성에는 논리 연산자를 사용한 조건식이 삽입된다. 태그 안에는 조건식이 true일 경우 실행되어야 할 쿼리문을 작성한다. 가장 흔히 사용되는 조건식은 아래 예제와 같이 파라미터의 값이 null 인지 체크하는 방식이다. SELECT * FROM board_table WHERE title LIKE '%' || #{title} || '%' OR content LIKE '%' || #{content} || '%' 위 코드에서는 content 파라미터의 값이 존재할 경우 태그 내부의 쿼리문이 실행..
-
MyBatis - DBMS 별 LIKE 문법Database/MyBatis 2022. 3. 21. 13:54
LIKE 검색 MyBatis 환경에서 파라미터를 통해 데이터를 조회하고자 하였다. 기존에 작성했었던 문법으로 LIKE 절을 사용하였으나, 원하는 결과를 얻지 못했다. 원인을 찾아본 결과 DBMS에 맞게 문자열 합치기 함수를 사용해야 한다는 것을 알게 되었다. 본인은 Oracle DBMS를 사용하면서 MySQL DBMS에 해당하는 문법을 사용한 것이었다. 아래는 DBMS의 대표적인 예인 MySQL, Oracle, MS-SQL에서 LIKE 문법을 사용하는 방법이다. MySQL SELECT * FROM table_name WHERE search_colum LIKE CONCAT('%', #{searchKeyWord}, '%') Oracle SELECT * FROM table_name WHERE search_co..