기능구현

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


목차

  • 데이터베이스 테이블 생성 및 VO 생성
    • MySQL
  • MemberMapper.xml추가
    • insert 쿼리문 테스트 및 관리자 아이디 만들기
    • mapper.xml 작성
  • MemberMapper.java 인터페이스 추가


데이터베이스 테이블 생성 및 VO 생성

  • 아이디
    • memberId
  • 비밀번호
    • memberPw
  • 회원이름
    • memberName
  • 회원 메일
    • memberMail
  • 우편번호
    • memberAddr1
  • 사는 지역
    • memberAddr2
  • 상세주소
    • memberAddr3
  • 관리자여부
    • adminCk
  • 등록날짜
    • regDate
  • 회원 돈
    • money
  • 회원 포인트
    • point
  • 관리자 여부는 int형으로 하였다. 0은 일반사용자, 1은 관리자로 하여 로그인 한 회원이 일반 회원인지 관리자인지 구분하기 위하여 삽입하였다.
  • 우편번호,사는지역,상세주소를 memberAddr1,2,3으로 하였는데 실제 일을 할때는 저런식으로 하면 안된다.


use store;

create table book_member(
	memberId varchar(50),
    memberPw VARCHAR(100) NOT NULL,
	memberName VARCHAR(30) NOT NULL,
	memberMail VARCHAR(100) NOT NULL,
	memberAddr1 VARCHAR(100) NOT NULL,
	memberAddr2 VARCHAR(100) NOT NULL,
	memberAddr3 VARCHAR(100) NOT NULL,
	adminCk int NOT NULL,
	regDate DATE NOT NULL,
	money int NOT NULL,
	point int NOT NULL,
	PRIMARY KEY(memberId)
);


VO 생성

  • book_member 테이블에 데이터를 저장하거나 반환된 데이터를 담을 객체(VO)를 생성한다.
  • com.store.modelMemberVO.java 클래스를 생성한다.



MemberVO.java

package com.store.model;

public class MemberVO {
	
	// 회원 id
	private String memberId;
	
	// 회원 비밀번호
	private String memberPw;
	
	// 회원 이름
	private String memberName;
	
	// 회원 이메일
	private String memberMail;
	
	// 회원 우편번호
	private String memberAddr1;
	
	// 회원 주소
	private String memberAddr2;
	
	// 회원 상세주소
	private String memberAddr3;
	
	// 관리자 구분
	private int adminCk;
	
	// 등록일자
	private int regDate;
	
	// 회원 돈
	private int money;
	
	// 회원 포인트
	private int point;

	public String getMemberId() {
		return memberId;
	}

	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	public String getMemberPw() {
		return memberPw;
	}

	public void setMemberPw(String memberPw) {
		this.memberPw = memberPw;
	}

	public String getMemberName() {
		return memberName;
	}

	public void setMemberName(String memberName) {
		this.memberName = memberName;
	}

	public String getMemberMail() {
		return memberMail;
	}

	public void setMemberMail(String memberMail) {
		this.memberMail = memberMail;
	}

	public String getMemberAddr1() {
		return memberAddr1;
	}

	public void setMemberAddr1(String memberAddr1) {
		this.memberAddr1 = memberAddr1;
	}

	public String getMemberAddr2() {
		return memberAddr2;
	}

	public void setMemberAddr2(String memberAddr2) {
		this.memberAddr2 = memberAddr2;
	}

	public String getMemberAddr3() {
		return memberAddr3;
	}

	public void setMemberAddr3(String memberAddr3) {
		this.memberAddr3 = memberAddr3;
	}

	public int getAdminCk() {
		return adminCk;
	}

	public void setAdminCk(int adminCk) {
		this.adminCk = adminCk;
	}

	public int getRegDate() {
		return regDate;
	}

	public void setRegDate(int regDate) {
		this.regDate = regDate;
	}

	public int getMoney() {
		return money;
	}

	public void setMoney(int money) {
		this.money = money;
	}

	public int getPoint() {
		return point;
	}

	public void setPoint(int point) {
		this.point = point;
	}
	

}


insert 쿼리문 테스트

  • insert 쿼리문 테스트 및 관리자 아이디 만들기
    • 테스트를 통해 등록한 회원정보는 추후에 관리자 아이디로 사용할 수 있도록 만든다.(마음대로 해도 됨)


insert into book_member values('admin', 'admin', 'admin', 'admin', 'admin', 'admin', 'admin', 1, sysdate(), 1000000, 1000000);



mapper.xml 작성

  • src/main/resources에 있는 mapper 폴더에 MemberMapper.xml 파일을 만든다.



  • insert 태그 내에 앞에 테스트 했던 insert 쿼리 명령문을 붙여 넣기 한 후 삽입될 데이터를 #{VO에 저장된 데이터 이름}으로 바꿔준다.
  • adminCk는 회원가입 시 기본적으로 일반회원으로 등록하기 위해 0을 삽입 했다.
  • money, point의 경우 추후 회원이 물품을 구매하는 기능을 구현하기 위해 회원에게 10만원과 5천 포인트를 기본으로 가질 수 있도록 하였다.


<?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="com.store.mapper.MemberMapper">
  		<insert id="memberJoin">
  			insert into book_member values(#{memberId}, #{memberPw}, #{memberName}, #{memberMail}, #{memberAddr1}, #{memberAddr2}, #{memberAddr3}, 0, sysdate, 100000, 5000 )
  		</insert>
  </mapper>


MemberMapper.java 인터페이스 추가

  • com.store.mapper 경로에 MemberMapper.java 인터페이스를 추가해준다.



  • 회원등록 insert 쿼리를 실행시켜 줄 메서드를 작성한다.


package com.store.mapper;

import com.store.model.MemberVO;

public interface MemberMapper {
	
	// 회원가입
	public void memberJoin(MemberVO member);

}

Leave a comment