제목에 나온 그대로 데이터베이스를 이용해서 로그인 기능을 구현하기 위한 준비를 해볼까 합니다.
데이터베이스 선택
Oracle, Mssql, Mysql 등을 다뤄봤습니다.무엇을 이용해도 상관없지만 개인적으로 Mysql이 자료도 많고 예전 프로젝트에서도 다뤄서 그런지 편하더라구요.그런 이유로 Mysql을 선택했습니다.
테이블 생성하기
User 테이블을 이렇게 생성해봤습니다.
저번에 구현한 로그인 기능으로는 Email과 password만 있어도 충분합니다.
그러나 이메일 앞을 잘라서 고유한 이름처럼 사용하는 게 맞는 걸까..? 란 생각이 들더라구요.
그래서 따로 Nickname을 지정할 수 있도록 컬럼을 추가했습니다.
또한 무엇을 기본키로 만들지가 고민이었어요.
닉네임도 고유하고 이메일도 고유한 값일 텐데 대체 무엇을 택하지?? 다중 키(복합 키)를 선택할까??
하다가 닉네임을 기본키로 선택했습니다.
다른 테이블과도 결합할 일들이 많은데 그런 데서도 쓰려면 이메일보다는 닉네임 위주로 쓸 것 같아서요.
만약에 이 사고가 잘못됐다면 댓글로 알려주세요.
여러분의 친절한 지적을 환영합니다.
실습용으로 위의 데이터를 넣어두었습니다.
비밀번호가 대놓고 보이는 문제는 추후에 또 수정해봅시다.
JDBC 설치하기
JDBC는 자바에서 데이터베이스를 쓰기 위한 API입니다.이게 있어야 데이터베이스 관련 코드를 작성할 수 있습니다.
https://dev.mysql.com/downloads/connector/j/
제가 사용하는 Mysql 같은 경우에는 위 링크에서 Platform Independent 옵션으로 다운받았어요.
압축을 풀면 여러 파일들이 있는데 우리가 필요한 건 mysql-connector-java-버전.jar 파일입니다.
해당 파일 자체를 프로젝트 WEB-INF\lib에 복사하셔도 되구요.
아니면 이클립스에서 이 jar 파일을 사용하도록 import 해주세요.
이클립스에서 JDBC 사용하기
프로젝트 우클릭 - Properties - Java Build Path - Add External JARs - mysql-connector-java-버전.jar 파일 선택하면 끝!!
07.24 추가 내용
다른 방법으로는 mysql-connector-java-버전.jar를 프로젝트 WEB-INF의 lib 디렉토리 안에다가 넣기가 있습니다.
자바빈 생성해두기
유저 자바빈을 생성해봅시다.
데이터베이스 컬럼이 3개뿐이라서 저는 변수를 이렇게 지정할게요.
Getter와 Setter 이클립스에서 쉽게 만드는 방법은 다들 아시리라고 생각해요.하지만 만에 하나 모르는 분을 위해 알려드리자면
소스 코드에서 마우스 우클릭 - Source - Generate Getters ans Setters를 눌러주세요.
Select All로 모든 변수에 대해 Getters와 Setters를 만들어줍시다.
굳이 변수들을 public이 아닌 private으로 하고 getter&setter를 구현하는 가장 큰 이유는 캡슐화 때문입니다.
https://stackoverflow.com/questions/1568091/why-use-getters-and-setters-accessors
혹자는 getters/setters가 안 좋다고도 말하니 직접 관련 글을 읽어주셨으면 합니다.
보시고 그럼에도 나는 ~~걸 택하겠어!! 하시면 그걸 사용해주세요.
저는 getters/setters를 사용하는 길을 골랐습니다.
여기까지 해주셨으면 준비는 모두 끝났습니다.
실질적인 DB 연결은 다음 시간에 하겠습니다.
감사합니다.
'TechTalk' 카테고리의 다른 글
로그인 기능 구현하기(DB이용) (0) | 2020.07.24 |
---|---|
로그인 기능 구현하기 - 에러 (0) | 2020.07.23 |
[JSP/Servlet]세션을 이용한 로그인 기능 구현하기 (0) | 2020.07.20 |
로그인 페이지 만들기 디자인편 (0) | 2020.07.20 |
github(깃허브) 오픈소스 컨트리뷰트하기 (0) | 2020.07.18 |