Study/MyBatis

Mybatis의 Collection 기능 1:1 관계를 맺고 있는 테이블에서는 JOIN 하여 두 개의 테이블 레코드를 한번에 조회 할수 있다. 하지만 1:N 관계의 테이블에서 JOIN하여 레코드를 조회하려고 할 때 1개의 레코드를 가지는 테이블의 정보는 모두 조회되지만, N개의 레코드를 가지는 테이블의 정보는 첫번째 값만 조회되거나 오류가 발생한다. N개의 레코드 모두 조회하고 싶은 경우에는 Mybatis에서 제공하는 resultMap에 collection기능을 사용하면 된다. 예시 사용자(1)가 구매한 상품 내역(N)을 조회하는 예시로 collection 사용방법을 알아보자. 기존 방법 테스트용 테이블로 user 테이블과 buy_item 테이블이 있다고 했을때, collection을 사용하지 않는다면 ..
CDATA Mybatis를 사용할때 XML 매퍼 파일에서 SQL문 내에 부등호를 직접 사용하면 XML 태그로 간주하기 때문에 데이터를 제대로 가져올 수 없다. 이때는 아래와 같이 CDATA를 사용하면 감싸면 정상적으로 원하는 결과를 얻을수 있다. CDATA란 문자를 파싱하지 않고 문자열 그대로 마크업 언어인 SGML이나 XML에서 사용하는 문법으로 태그, 문자열 블록으로 이해하지 않고 문자열 그대로 인식할 수 있게 도와준다. 아래와 같이 문자열 그대로 출력하고자 하는 위치에 CDATA로 감싸면 된다.
개요 평소 회사에서 MyBatis를 주로 사용해 업무를 하는데, 자세한 동작 원리가 궁금해져서 공부한 내용을 정리하고자 한다. MyBatis (Persistence Framework) 목차 0. Persistence Framework 1. MyBatis란 ? 2. Mybatis 동작 원리 3. Mybatis를 통한 CRUD 4. 동적 쿼리 Persistence Framework Mybatis는 Persistence Framework 기술 중 하나인데, Mybatis에 대해 들어가기 전 Persistence Framework이 무엇인지 간단히 알아보자 ✅ Persistence란 ? Persistence란 영속성 이란 뜻으로 프로그램이 종료되어도 데이터 상태가 유지되는 것을 말한다. 프로그램에서 데이터를 저..
jonghne
'Study/MyBatis' 카테고리의 글 목록