회원정보 목록 - 관계 대수(1:n)

조수경·2022년 2월 7일
0

Spring

목록 보기
13/43

관계대수: 대부분 1:n 관계

memberSQL.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="member">
	<!-- resultMap을 사용하기 위해 작성함 MEMBERID를 memberVO에있는 memberid에 매핑 시킨다 -->
	<!-- 
		property : vo의 멤버변수명
		column : select문의 컬럼명
		collection : 1:n의 관계(collection이 n의 관계임)
	 -->
	<resultMap type="memberVO" id="memberMap">
		<id property="memberid" column="MEMBERID" />
		<result property="password" column="PASSWORD"/>
		<result property="name" column="NAME"/>
		<result property="email" column="EMAIL"/>
		<result property="regdate" column="REGDATE"/>
		<result property="introduction" column="INTRODUCTION"/>
		<collection property="cardList" resultMap="cardMap">
		</collection>
	</resultMap>
		
	<resultMap type="cardVO" id="cardMap">
		<result property="memberid" column="MEMBERID" />
		<result property="no" column="NO" />
		<result property="validMonth" column="VALID_MONTH" />
	</resultMap>
	

	<!-- 회원정보 목록 : 한명의 회원이 여러 카드를 가지고 있을때(한명이 여러 카드를 가지고 있을 때 1:n관계)-->
	<select id="select" resultMap="memberMap">
	SELECT M.MEMBERID, M.PASSWORD, M.NAME, M.EMAIL, M.REGDATE, M.INTRODUCTION,
    	C.NO, C.VALID_MONTH, C.MEMBERID
	FROM MEMBER M, CARD C
	WHERE M.MEMBERID = C.MEMBERID
	ORDER BY C.NO DESC
	</select>
</mapper>

dao

//회원정보 목록
	public List<MemberVO> select(){
		//namespace.id
		return this.sqlSessionTemplate.selectList("member.select");
		
	}

serviceImpl

//회원정보 목록
	@Override //메서드 재정의
	public List<MemberVO> select(){
		return memberDao.select();
		
	}

service

public List<MemberVO> select();

controller

//골뱅이RequestMapping(value="/member/list", method = RequestMethod.GET)
	//public ModelAndView list(ModelAndView mav){
	//속성이 하나이면 생략이 가능함 : value / method또한 get이라 생략 가능
	@RequestMapping(value="/list", method = RequestMethod.GET)
	public String list(Model model) {
		List<MemberVO> memberVO = this.memberService.select();
		
		//1. 데이터를 담아서
		model.addAttribute("list",memberVO);
		
		//2. 뷰의 경로. forwarding방식(데이터를 끌어감)
		return "member/list";
	}
profile
신입 개발자 입니다!!!

0개의 댓글