MyBatis7 동적 SQL ❓ 동적 SQL(SQL의 재사용성과 유연성을 향상하고자 Dynamic SQL을 지원한다) 하나의 SQL문을 다양한 형태로 실행하는 기능이 동적SQL이다. MyBatis는 if, choose(when, otherwise), trim(where, set), foreach 요소의 동적 SQL을 지원한다. if 요소는 test의 조건문이 참일 때 연결문자열을 SQL문에 연결하고, 그렇지 않으면 무시한다. 동적 SQL에서 가장 공통적으로 사용되며, SQL문에서 where절의 포함 여부를 작성할 수 있다. 연결문자열 choose, when, otherwise choose~when~otherwise는 if와 함께 가장 공통적으로 제공되는 분기 처리 방식이다. choose 하위의 when 엘리먼트에서 만족하는 조건이 .. 2023. 10. 8. CDATA Section SQL문을 작성하다보면 구문에 " 2023. 10. 7. ResultMap ❓ResultMap ResultMap은 주로 엘리먼트를 사용하여 MyBatis의 XML 설정 파일에 정의된다. resultMap 안에는 데이터베이스 결과와 자바 객체 간의 매핑 규칙이 포함된다. : result 엘리먼트는 한 개의 컬럼을 한 개의 프로퍼티나 간단한 데이터 타입의 필드에 매핑한다. 또는 테이블 컬럼명과 프로퍼티명이 다른 경우에도 사용되고, 쿼리구문이 join 구문 등의 사용으로 검색 결과를 하나의 자바 객체로 매핑할 수 없을 때에도 사용된다. : 기본 키 열을 나타내며, 객체의 기본 키를 매핑한다. resultMap 엘리먼트는 요소를 구분하기 위한 유일한 값을 id 속성에 지정하고 type을 기술한다. type 속성은 이 매핑이 적용될 자바 객체의 클래스를 나타낸다. 어떤 종류의 객체에 이.. 2023. 10. 7. 바인딩변수를 이용한 SQL문 MyBatis에서는 SQL문의 파라미터 값을 받기 위해 "#{프로퍼티명}"으로 표기한다. #{프로퍼티명}을 이용해 특정행을 검색하는 SELECT문 select 컬럼명1, 컬럼명2, ... from 테이블명 where 컬럼명 = #{프로퍼티} #{프로퍼티명}을 이용해 한 행을 추가하는 INSERT문 insert into 테이블명(컬럼명1, 컬럼명2, ...) values (#{값1}, #{값2}, ...) #{프로퍼티명}을 이용해 특정 또는 일부 행의 컬럼 값을 수정하는 UPDATE문 update 테이블명 set 컬럼명1 = #{값1}, 컬럼명2 = #{값2} where 컬럼명3 = #{값3} #{프로퍼티명}을 이용해 특정행을 삭제하는 DELETE문 delete from 테이블명 where 컬럼명 = #{.. 2023. 10. 6. 이전 1 2 다음