회원가입 기능 구현 -> member join
member (필드이자 컬럼) -> class / table
article write처럼 입력하고 저장하면 되겠지?
memer join은 쿼리를 어떻게 해야할지 감이 안잡힘
member table 만들어서
insert into member 하면 되겠음
id는 필요없고 자동 increment
regdate도 쿼리로
회원가입엔 updatedate는 필요없음
isJoinableLoginId 이부분은 어떻게 손을 봐야하나
일단 주석처리하고 테스트
Member 클라스 만들기, Article 클라스랑 비슷하게
member join 에러 뜸 -> exception 어쩌구 빨간색으로 블라블라
article write랑 똑같이 했는데 에러 뜨는 이유는?
article write랑 member join이 다른건 뭔데?
member <- 이거도 문제였지만
create table 자체를 mysql에서 안했더라.. -_- 똥멍청이
중복체크 기능 구현 중
회원가입을 시도하면
입력하는 아이디 비번 이름 데이터에 저장은 됨
되고나서 뭐라고 함
List<Map<String, Object>> 에서 ..
왜또??????
이거 쓰면 안되는건가?
isJoinableLoginId 함수를 쓰는게 아닌건가?
그럼 다른 방법 없나?
응 다른 방법이 있네!
// MemberController 클래스
boolean isLoginIdDup = memberService.isLoginIdDup(loginId); // memberService클래스에서 함수 호출해서, 아이디가 중복인지 true / false 담아
if (isLoginIdDup) { // 만약에 이 함수 실행해서 true면 중복이라라고 출력해
System.out.println(loginId + "는(은) 이미 사용중");
continue; // 중복이면 다시 올라가서 로그인 아이디 입력받고
}
break; // 중복아니면 이 while문 빠져나와서 그 다음 로직으로 가
// MemberDao 클래스
public boolean isLoginIdDup(String loginId) { // 서비스한테 넘겨받은 (회원가입시 입력받은)아이디를 쿼리에 있는 변수에 담아
SecSql sql = new SecSql(); // 여기서 입력된 쿼리 dq로 날려
sql.append("SELECT COUNT(*) > 0");
sql.append("FROM `member`");
sql.append("WHERE loginId = ?;", loginId); // <-여기에 아이디값 들어가는거
return DBUtil.selectRowBooleanValue(Container.conn, sql); // DBUtil.selectRow어쩌구 함수로 DBUtil클래스에서 일을 막 하고 나온 값을 서비스한테 반환해줌
// 아마도 이 안에서 하는 일이, 회원정보 한줄씩 훑어보는거같고, 중복아이디 있으면 true 리턴받는 듯?
}
MVC 구조 도입
-ArticleController
-MemberController
-ArticleService
-MemberService
-ArticleDao
-MemberDao
[JDBC_AM]
1. <작업 13, 회원가입 기능 추가, 아이디 중복 체크, 비밀번호 체크, 필수 입력 정보> 영상 이해하기
2. <작업 14, Controller 추가 및 기능 이전> 영상 이해하기
3. Controller 추가 해보기
Connection conn;
Scanner sc;
public MemberController(Connection conn, Scanner sc) {
this.conn = conn;
this.sc = sc;
}
[WiseSaying]
1. WiseSaying CRUD 구현 연습
[SQL]
1. <scott 1,2,3, outer join, sub query> 강의영상에서 sub query 부분 다시 보고 이해하기
[기타]
2. 녹화
3. 1 ~ 2시 안에 마무리