: select 엘리먼트 속성
: 조회 시 한번에 읽을 수 있는 레코드 수 조정
ex) fetchSize default 10 -> 1000, 2000개 레코드 조회 시 2번 읽음
구분자 역할을 하는 속성 (기본키 PK)
테이블 컬럼, FK (컬럼 -> 프로퍼티(객체)에 매핑)
자바의 속성명, 결과 컬럼에 매핑하기 위한 DTO의 필드나 프로퍼티
데이터베이스의 칼럼명이나 별칭된 칼럼 라벨
자바의 자료형, 패키지경로를 포함한 클래스 전체명이거나, 타입 별칭
지원되는 타입 목록에서 설명하는 JDBC 타입
다른 매핍된 구문의 ID는 이 프로퍼티 매핑이 필요로 하는 복잡한 타입을 로드
복잡한 결과매핑을 할 때 사용한다.
-id : 구분자 역할을 하는 속성, 아이디 (기본키 PK)
-result : 테이블의 일반속성, 외래키 FK (property 객체 매핑)
-type : resultMap의 자료형
복잡한 타입의 연관관계
association 엘리먼트는 has-one 타입의 관계이다.
has-one 1:1 관계
ex)
-시험지를 푸는 학생은 1명이다.
(해당 시험지를 조회하면서 그 1명의 학생을 조회한다.)
자바 bean 파일의 property: 조인 객체 명 ,
javatype: 조인 객체의 자료형이 일치
복잡한 타입의 컬렉션
collection 엘리먼트는 has-many 타입의 관계이다.
has-many 1:N 관계
ex)
-하나의 시험지에서 여러 문항을 얻어온다. (1:N 관계)
자바 bean 파일의 property: 조인 객체 명 ,
ofType: collection의 자료형 (제네릭)이 일치
-> 1개의 아이디에는 N개의 Goods가 존재한다.
작업 순서
1. Member.java
2. MemberMapper.xml
3. MemberMapper.java
4. MemberService.java
5. header.html
6. MemberController.java
7. memberInfoList.html
Member.java
-MemberLevel(등급)을 1:N 관계로 가져온다.
+toString 추가
-MemberLevel의 속성을 levelInfo 객체참조변수명을 이용해서 바인딩 한다. (resultMap 이용)
MemberMapper.xml
-association 추가
-select 쿼리문 추가
-> 회원상세리스트에 등급숫자,이름,등록날짜를 불러오기 위해 멤버테이블과 등급테이블을 조인하여
참조된 등급테이블의 PK와 참조하는 멤버테이블의 FK의 값을 비교하고 회원아이디 순으로 정렬한다.
(ORDER BY 기본 값 - ASC, 알파벳&숫자 순으로 정렬)