본문 바로가기
언어공부/JAVA&SPRING

[JSP 게시판 만들기] 회원 데이터베이스 구축하기

by hobbiz 2020. 7. 5.
반응형

 

징글징글한 My SQL 비밀번호 에러로 삭제 후 비밀번호를 바꾸고 다시 진행!

관련내용은 아래 링크 참고

https://annyeongworld.tistory.com/3

 

[JSP 게시판 만들기] JDK, 환경변수, 이클립스, 아파치톰캣, 부트스트랩 맥 mac os 에서 설치

초보자로서 JSP 게시판 만들기 강의를 들을 때 한 가지 더 어려웠던 점은, 내가 맥북을 쓰고있다는 점이었다... 강의에서는 윈도우를 쓰기 때문에 화면만 보고 따라가기도 버거운 와중에 맥에 맞�

annyeongworld.tistory.com

 

▼터미널 에서 My SQL 실행 후 아래와 같이 입력하여 테이블을 생성하였다.

 

mysql> USE BBS;

Database changed

mysql> CREATE TABLE USER (

    -> userID VARCHAR(20),

    -> userPassword VARCHAR(20),

    -> userName VARCHAR(20),

    -> userGender VARCHAR(20),

    -> userEmail VARCHAR(50),

    -> PRIMARY KEY (userID)

    -> );

Query OK, 0 rows affected (0.04 sec)

 

 

 

아래와 같이 입력하여 bbs 안에 있는 모든 테이블 확인

 

mysql> show tables;

+---------------+

| Tables_in_bbs |

+---------------+

| USER          |

+---------------+

1 row in set (0.00 sec)

 

 

 

만든 user 라는 테이블 안에 어떠한 속성들이 있는지 확인

 

mysql> desc user;

+--------------+-------------+------+-----+---------+-------+

| Field        | Type        | Null | Key | Default | Extra |

+--------------+-------------+------+-----+---------+-------+

| userID       | varchar(20) | NO   | PRI | NULL    |       |

| userPassword | varchar(20) | YES  |     | NULL    |       |

| userName     | varchar(20) | YES  |     | NULL    |       |

| userGender   | varchar(20) | YES  |     | NULL    |       |

| userEmail    | varchar(50) | YES  |     | NULL    |       |

+--------------+-------------+------+-----+---------+-------+

5 rows in set (0.02 sec)

 

 

새로운 유저를 추가하려고 했더니 오류가 발생하였다.

mysql> INSERT INTO USER VALUES('gildong', '123456', '홍길동', '남자', 'gildong@naver.com');

ERROR 1366 (HY000): Incorrect string value: '\xED\x99\x8D\xEA\xB8\xB8...' for column 'userName' at row 1

 

해당 테이블을 utf8로 인코딩 한 후 실행하였더니 정상 입력되었다. 휴우

mysql> alter table user convert to character set utf8;

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql> INSERT INTO USER VALUES('gildong', '123456', '홍길동', '남자', 'gildong@naver.com');

Query OK, 1 row affected (0.00 sec)

 

 

입력된 데이터가 user 테이블에 입력된 것을 확인

mysql> select * from user;

+---------+--------------+-----------+------------+-------------------+

| userID  | userPassword | userName  | userGender | userEmail         |

+---------+--------------+-----------+------------+-------------------+

| gildong | 123456       | 홍길동    | 남자       | gildong@naver.com |

+---------+--------------+-----------+------------+-------------------+

1 row in set (0.00 sec)

 

 

<User.java 파일 생성>

생활코딩과 자바의 정석 수박겉핥기 후 보는 자바 파일 오랜만! 너는 깔끔한 아이었구나...

이와 같이 하나의 데이터를 관리하고 처리할 수 있는 기법을 JSP에서 구현하는 것을 자바빈즈라고 한다. (강의 내용 중)

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;
	}
	
	
	
}

 

 

자바빈즈란?

 

자바빈즈(JavaBeans)는 자바로 작성된 소프트웨어 컴포넌트이다.

자바빈즈의 사양은 썬 마이크로시스템즈에서 다음과 같이 정의되었다. "빌더 형식의 개발도구에서 가시적으로 조작이 가능하고 또한 재사용이 가능한 소프트웨어 컴포넌트이다."

많은 측면에서 유사성을 보임에도 불구하고 자바빈즈는 엔터프라이즈 자바빈즈(EJB)와 혼동하지 말아야 한다. EJB는 자바 플랫폼, 엔터프라이즈 에디션(Java EE)의 일부로서 서버 계열의 컴포넌트이다.

 

엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은 Java EE 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.

 

(혼동하지 말라고 했는데 이미 혼동된다. 그냥 일단 이런것이 있다고 알아두겠다...)

 

 

<참고 자료>

https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94%EB%B9%88%EC%A6%88

https://ko.wikipedia.org/wiki/%EC%97%94%ED%84%B0%ED%94%84%EB%9D%BC%EC%9D%B4%EC%A6%88_%EC%9E%90%EB%B0%94%EB%B9%88%EC%A6%88

 

 

<참고 강의>

youtu.be/kN8xRG6UPZM

반응형

댓글