기능구현

  • 회원가입(주소API연동, 이메일 인증, ajax를 사용하여 아이디 중복검사)
  • 관리자 페이지(인터셉터 적용, 상품관리, 회원관리)
  • 업로드(이미지 등록, 수정, 삭제)
  • 검색
  • 페이징
  • 구매(장바구니, 포인트사용)
  • 댓글(등록,수정,삭제)
  • 중간에 막혔거나 에러 해결 못하겠으면 yoonbitnara@gmail.com 으로 문의


순서

  • 쿼리문 작성 & MemberMapper.xml 작성
  • MemberMapper.java 인터페이스 작성
  • mapper 로그인 메서드 테스트
  • MemberService.java 인터페이스, 클래스 작성


쿼리문 작성 & MemberMapper.xml 작성

  • 로그인에 사용할 쿼리문은 제출받은 로그인 비밀번호 데이터와 비교하여 일치하는 데이터가 있을 시 해당 아이디의 정보를 반환하고 없을 시 null을 반환하도록 할 것이다. 쿼리문은 MemberMapper.xml에 작성해야 하는데 하기 전 쿼리문이 정상적으로 실행이 되는지 sql 프로그램에서 먼저 작성하여 실행해본다.



select memberId, memberName, adminCk, money, point from book_member where memberId = '테스트할 아이디' and memberPw = '테스트할 비밀번호';



  • 테스트를 한 쿼리문을 사용하여 MemberMapper.xml에 쿼리문을 작성한다. 해당 쿼리문의 아이디, 비밀번호 파라미터는 MemberVO클래스의 memberId, memberPw 변수를 삽입한다. 해당 쿼리문을 요청하는 MemberMapper.java의 로그인 메서드가 아이디, 비밀번호를 담고있는 MemberVO객체를 파라미터로 사용하기 때문이다.


MemberMapper.xml


  		<!-- 로그인 -->
  		<select id="memberLogin" resultType="com.store.model.MemberVO">
  			select memberId, memberName, adminCk, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw} 
  		</select>


MemberMapper.java 인터페이스 작성

  • MemberVO를 파라미터로 하고 MemberVO로 반환받는 로그인 메서드를 추가한다.


// 로그인
	public MemberVO memberLogin(MemberVO member);


mapper 로그인 메서드 테스트

  • Junit을 통해 쿼리를 요청하는 메서드가 정상적으로 동작하는지를 확인해야 한다. src/test/java경로의 com.store.mapper패키지에 작성해둔 MemberMapperTests.java를 활용할 예정이다. 새로운 클래스를 생성하여 테스트를 해도 무관하다.


  • 기존에 회원가입 쿼리 mapper 메스드를 테스트 하기 위해 사용했던 메서드는 주석처리하고 아래의 코드를 참고하여 Junit테스트를 진행한다.


	/* 로그인 쿼리 mapper 메서드 테스트 */
	@Test
	public void memberLogin() throws Exception {
		
		MemberVO member = new MemberVO(); // MemberVO 변수 선언 및 초기화
		
		/* 올바른 아이디 비번 입력의 경우 */
		member.setMemberId("test");
		member.setMemberPw("test123");
		
		
		/* 올바르지 않은 아이디 비번 입력의 경우 */
		//member.setMemberId("");
		//member.setMemberPw("");
		
		memberMapper.memberLogin(member);
		System.out.println("결과값 : " + memberMapper.memberLogin(member));
		
	}



  • 올바르지 않은 아이디 테스트


	/* 로그인 쿼리 mapper 메서드 테스트 */
	@Test
	public void memberLogin() throws Exception {
		
		MemberVO member = new MemberVO(); // MemberVO 변수 선언 및 초기화
		
		/* 올바른 아이디 비번 입력의 경우 */
		//member.setMemberId("test");
		//member.setMemberPw("test123");
		
		
		/* 올바르지 않은 아이디 비번 입력의 경우 */
		member.setMemberId("test");
		member.setMemberPw("teqweqweasd");
		
		memberMapper.memberLogin(member);
		System.out.println("결과값 : " + memberMapper.memberLogin(member));
		
	}



MemberService.java 인터페이스, 클래스 작성

  • MemberService.java 인터페이스에 아래의 로그인 메서드를 추가한다.


	// 로그인
	public MemberVO memberLogin(MemberVO memberVO) throws Exception;


package com.store.service;

import com.store.model.MemberVO;

public interface MemberService {
	
	// 회원가입
	public void memberJoin(MemberVO member) throws Exception;
	
	// 아이디 중복 검사
	public int idCheck(String memberId) throws Exception;
	
	// 로그인
	public MemberVO memberLogin(MemberVO memberVO) throws Exception;
	

}


  • MemberServiceImpl.java 클래스에 아래의 메서드를 추가한다.


	// 로그인
	@Override
	public MemberVO memberLogin(MemberVO member) throws Exception {
		
		return memberMapper.memberLogin(member);
	}


package com.store.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.store.mapper.MemberMapper;
import com.store.model.MemberVO;

@Service
public class MemberServiceImpl implements MemberService{
	
	@Autowired
	MemberMapper memberMapper;
	
	// 회원가입
	@Override
	public void memberJoin(MemberVO member) throws Exception {
		
		memberMapper.memberJoin(member);
	}
	
	// id 중복검사
	@Override
	public int idCheck(String memberId) throws Exception {
		
		return memberMapper.idCheck(memberId);
	}
	
	
	// 로그인
	@Override
	public MemberVO memberLogin(MemberVO member) throws Exception {
		
		return memberMapper.memberLogin(member);
	}
}

Leave a comment