| 현실 세계의 회원정보 데이터 -> 추상화(모델링)
- 추상화(모델링) : 앞어서 OOP를 정리했을 때, 추상화란 곧, 모델링이라고 이야기했다.
- 백엔드 프로그래밍을 할 때에는 현실 세계의 데이터를 분석하고, 이를 클래스화하는 연습을 해야한다.
- 수업 시간에 배운 예시는 DB를 처음 배울 때 자주 소개되는 회원가입 정보였다.
- 배운 걸 복습하기 위해서 나는 네이버의 회원가입 페이지를 참조해보았다.
[1] 회원가입 시작 페이지(동의체크)
- [필수]로 되어 있는 체크란은 네이버에서는 DB에 저장해두는 내용이겠지만, 제외하고 [선택]부분을 넣어주는 걸로 한다.
[2] 회원가입 상세 페이지
- 아래와 같이 데이터를 받는 걸 볼 수 있었다.
- 필수 정보 : 아이디, 비밀번호, 이름, 생년월일, 성별, 휴대전화
- 선택 정보 : 이메일
[3] 추가정보
- 회원가입 일자
| DB 테이블 형성 (MariaDB 사용)
database | table | variable |
member_db | member | not null : 아이디(pk), 비밀번호, 이름, 생년월일, 성별, 휴대전화 null : 이메일, 위치기반 이용 동의, 프로모션 수신 동의 |
-- 데이터 베이스 생성 및 계정 권한 부여
create database member_db;
use mysql;
grant all privileges on member_db.* to 'testuser2'@'%' identified by 'password';
-- 테이블 생성
create table member
(
user_id varchar(50) not null primary key comment '아이디',
password varchar(50) not null comment '비밀번호',
name varchar(20) not null comment '이름',
birth char(10) not null comment '생년월일',
sex varchar(3) not null comment '성별',
mobile_no varchar(12) not null comment '휴대전화',
email varchar(50) null comment '이메일',
location_based_yn bit null comment '위치기반 정보제공',
promotion_yn bit null comment '프로모션 이용동의',
register_date datetime default current_timestamp() not null comment '가입일'
) comment '회원정보'
;
| 자바 클래스 생성
1. 회원 정보 클래스 생성
public class Member {
private String user_id;
private String password;
private String name;
private String birth;
private String sex;
private String mobile_no;
private String email;
private boolean location_based_yn;
private boolean promotion_yn;
private String register_date;
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getMobile_no() {
return mobile_no;
}
public void setMobile_no(String mobile_no) {
this.mobile_no = mobile_no;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public boolean isLocation_based_yn() {
return location_based_yn;
}
public void setLocation_based_yn(boolean location_based_yn) {
this.location_based_yn = location_based_yn;
}
public boolean isPromotion_yn() {
return promotion_yn;
}
public void setPromotion_yn(boolean promotion_yn) {
this.promotion_yn = promotion_yn;
}
public String getRegister_date() {
return register_date;
}
public void setRegister_date(String register_date) {
this.register_date = register_date;
}
}
2. 회원가입 처리 클래스 생성
- 사용자는 프론트단에서 회원가입을 하거나, 탈퇴를 신청한다. - 관리자는 백엔드단에서 회원가입 목록을 확인할 수 있다. * 회원 가입 및 탈퇴를 할 때에 개발자는 정상적으로 DB에 연결되어 가입 또는 탈퇴가 되었는지를 확인하고 예외 발생 시, 사용자에게 이를 알려주어야 한다. |
public class MemberService {
/*
회원 가입
@param member 회원정보
@return 성공여부
*/
public boolean register(Member member) {
// 생략
return true;
}
/*
탈퇴 하기
@param member 회원정보
@return 성공여부
*/
public boolean withdraw(Member member) {
// 생략
return true;
}
/*
목록 조회
@return 회원목록
*/
public List<Member> getList(){
// 생략
return null;
}
}
[ 참조 및 출처 ]
부트캠프 강의를 들은 후 정리한 내용입니다.
'Java, Spring > 웹프로그래밍 시작하기' 카테고리의 다른 글
[자바 프로그래밍] JDBC 설치하기 (0) | 2022.08.27 |
---|---|
[자바 프로그래밍] DB연결을 위해 필요한 것 (0) | 2022.08.27 |
[자바 프로그래밍] JVM과 자바 개발 환경 구축 (0) | 2022.08.26 |
웹 프로그래밍 기초 개념 - 프론트엔드와 백엔드, 라이브러리/프레임워크? (0) | 2022.08.10 |
웹 프로그래밍 기초 개념 - 웹, 웹표준/웹접근성, 디바이스 (0) | 2022.08.08 |