Fairy ' s

[Oracle DB] 게시판 / #3 서브 쿼리, MP_MEMBER 본문

Study/DB

[Oracle DB] 게시판 / #3 서브 쿼리, MP_MEMBER

berafairy 2023. 1. 4. 10:05

#2 서브 테이블 MP_MEMBER에 사용한 query문 정리 (memberMapper.xml)

 


 

1. MP_MEMBER 테이블 생성

// MP_MEMBER

CREATE TABLE MP_MEMBER (
	USERID VARCHAR2(40) NOT NULL, // 사용자 아이디
    	USERPASS VARCHAR(100) NOT NULL, // 사용자 비밀번호
	USERNAME VARCHAR2(40) NOT NULL, // 사용자 이름
	REGDATE DATE DEFAULT SYSDATE, // 생성 일자
	PRIMARY KET(USERID) // 기본 키
);

 

 


2. 로그인 / 회원 가입

// memberMapper.xml

// 회원가입
<insert id="register">
    INSERT INTO MP_MEMBER(   USERID 
   			   , USERPASS 
   			   , USERNAME 	)
                  VALUES(    #{userId} 
                	   , #{userPass}
                	   , #{userName})
</insert>

// 로그인
<select id="login" resultType="kr.co.vo.MemberVO">
	SELECT USERID, USERPASS, USERNAME
		FROM MP_MEMBER
	WHERE USERID = #{userId}
	AND USERPASS = #{userPass}
</select>

 

 


3. 회원정보 수정 / 탈퇴

// memberMapper.xml

// 회원정보 수정
<update id="memberUpdate">
	UPDATE MP_MEMBER SET 
		<!-- USERPASS = #{userPass} -->
		USERNAME = #{userName}
	WHERE USERID = #{userId}
</update>
	
// 회원 탈퇴
<delete id="memberDelete">
	DELETE FROM MP_MEMBER
	WHERE USERID = #{userId}
	<!-- AND USERPASS = #{userPass} -->
</delete>
  • 이름은 수정할 수 있지만, 비밀번호와 아이디는 수정할 수 없다.
  • 비밀번호 수정이 불가한 이유는 비밀번호를 암호화 해뒀기 때문이다.
  • 조만간 암호화된 비밀번호 수정과 비밀번호 찾기 기능도 제작해볼까 한다.
  • 회원탈퇴 할 때 입력된 비밀번호와 암호화된 비밀번호를 비교해주기 때문에 조건에 있는 비밀번호를 주석처리 하였다.

 


4. 아이디 중복 체크, 비밀번호 체크

// memberMapper.xml

// 패스워드 체크
<select id="passChk" resultType="int">
	SELECT COUNT(*) FROM MP_MEMBER
	WHERE USERID = #{userId}
		AND USERPASS = #{userPass}
</select>
	
// 아이디 중복 체크
<select id="idChk" resultType="int">
	SELECT COUNT(*) FROM MP_MEMBER
	WHERE USERID = #{userId}
</select>
  • 패스워드 체크는 USERID와 USERPASS를 조건으로 걸고, 조건에 맞는 결과가 몇 개 인지 카운트한다.
  • 아이디 중복 체크는 USERID를 조건으로 걸고, 조건에 맞는 결과를 카운트한다.
  • 조회 결과 타입을 int로 하여 COUNT 값을 내보낸다.

 

'Study > DB' 카테고리의 다른 글

[SQL] 키  (0) 2023.01.05
[Oracle DB] 게시판 / 서브 쿼리, MP_REPLY, MP_FILE #2  (0) 2023.01.03
[Oracle DB] 게시판 / 메인 쿼리, BOARD #1  (0) 2023.01.03
[Oracle DB] 기본 명령어  (0) 2023.01.03
Comments