[작성일: 2023. 04. 11]
회원 데이터베이스 구축하기
로그인화면 구현하고 나서는 한 명의 회원에 대한 정보를 관리할 수 있도록 하는 회원 데이터베이스 구축을 한다.
데이터베이스 관리 시스템으로 mysql을 설치하면 되는데, 나는 mariadb와 dbeaver를 사용해서 공부를 했기 때문에 따로 mysql을 따로 설치하지 않았다.
[소스코드_테이블 생성]
userID는 겹치면 안 되므로 PRIMARY KEY로 설정한다.
CREATE TABLE USER( /*USER TABLE 생성 */
userID VARCHAR(20),
userPassword VARCHAR(20),
userName VARCHAR(20),
userGender VARCHAR(20),
userEmail VARCHAR(50),
PRIMARY KEY (userID)
);
SHOW TABLES; /* TABLE 확인 */
DESC USER; /* USER TABLE의 속성 확인 */
INSERT INTO USER VALUES('gildong', '123456', '홍길동', '남자', 'gildong@naver.com');
SELECT * FROM USER;
COMMIT;
[실행화면_테이블 생성]
[소스코드_클래스 생성]
회원 데이터를 JSP에 담기 위해서 이클립스 Java Resorces/src 경로에 user 패키지와 User 클래스를 만들어주었다.
클래스 안에 변수를 생성할 때는 아까 데이터베이스와 동일한 이름으로 만들어주는 것이 가장 깔끔하다.
전부 문자열 형태로 들어가 있기 때문에 클래스에서도 String 형태로 넣어줄 수 있도록 해야 한다.
package user;
public class User {
private String userId;
private String userPassword;
private String userName;
private String userGender;
private String userEmail;
}
변수를 생성하게 되면 각각의 회원 정보들이 데이터베이스와 동일하게 자바 안에 담길 수 있다.
그 후 get 메서드와 set 메서드를 만들어주어야 한다.
오른쪽 마우스 클릭 > Source > Generate Getter and Setter에서 메서드를 작성하지 않아도 자동으로 만들어준다.
package user;
public class User {
private String userID;
private String userPassword;
private String userName;
private String userGender;
private String userEmail;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserGender() {
return userGender;
}
public void setUserGender(String userGender) {
this.userGender = userGender;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
}
메서드까지 완성된다면 1명의 회원 데이터를 담을 수 있는 데이터베이스 및 자바빈즈가 완성된다고 볼 수 있다.
이런 식으로 하나의 데이터를 관리하고 처리할 수 있는 기법을 JSP에서 구현하는 것을 자바빈즈라고 한다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.