<resultMap type="board" id="boardMap">
<id column="BOARDNO" property="no" />
<result column="TITLE" property="title" />
<result column="CONTENT" property="content" />
<result column="USERNO" property="userNo" />
<!-- 조인 결과에서 같은 게시글에 대해 한 개의 회원 데이터를 담을 경우 -->
<!-- association : 1:1 관계의 테이블을 조인할 때 사용 (조인 객체): 1개의 게시글에 1명의 user만 존재 -->
<association property="writer" javaType="User">
<id column="USERNO" property="userNo" />
<result column="ID" property="id" />
<result column="PASSWORD" property="password" />
<result column="NAME" property="name" />
</association>
<!-- 조인 결과에서 같은 게시글에 대해 여러 개의 첨부 파일 데이터를 담을 경우 -->
<!-- collection : 1:M 관계의 테이블을 조인할 때 사용 (조인 객체): 1개의 게시글의 여러개의 첨부파일 존재 -->
<collection property="attachedFiles" ofType="attachedFile">
<id column="ATTACHEDFILENO" property="attachedFileNo" />
<result column="FILEPATH" property="filepath" />
</collection>
</resultMap>
1:1 관계의 테이블을 조인할 때 사용 ex. 1개의 게시글(board) : 1명의 회원(User) 존재
<'id'> 태그를 이용하여 조인 대상 테이블의 기본키와 매핑
중복 데이터가 발생하거나, 복잡한 쿼리문이 될 수도 있는 join 연산 수행 대신 사용하여
객체 간의 관계를 이용하여 간편하게 조회 가능
1:N 관계의 테이블을 조인할 때 사용 ex. 1개의 게시글 : 여러개의 첨부파일 존재
<'id'> 태그를 이용하여 '1'에 해당하는 테이블과 'N'에 해당되는 테이블을 조인한 결과를
List,Set 등의 collection 형태로 매핑
ofType: 매핑 될 클래스를 지정 ex. AttachedFile