본문 바로가기
Lecture/JSP & Java

[본격 게시판짜기 Part2.2 Model2 MVC패턴] Entity Beans의 사용

by cusmaker 2012. 7. 10.
반응형

2012/06/13 - [Lecture/HTML] - [본격 게시판짜기 Part1.1 - 게시판도 HTML부터] 게시글 리스트

2012/06/13 - [Lecture/HTML] - [본격 게시판짜기 Part1.2 - 게시판도 HTML부터] 글입력폼

2012/06/13 - [Lecture/Javascript-기초] - [본격 게시판짜기 Part1.3 - Dom 맛보기 ] 글입력폼 검사

2012/06/13 - [Lecture/Jsp] - [본격 게시판짜기 Part1.4 - HTML-> JSP] form 파라미터 받기

2012/06/26 - [Lecture/SQL / Oracle] - [본격 게시판짜기 Part1.5 JSP > Oracle] 게시판 DB 테이블 생성

2012/06/26 - [Lecture/Jsp] - [본격 게시판짜기 Part1.6 Oracle > JSP] Database 접속 및 Select

2012/07/05 - [Lecture/Jsp] - [본격 게시판짜기 Part1.7 JSP, SQLDeveloper] 게시글 입력 및 리스트조회기능

2012/07/08 - [Lecture/Jsp] - [본격 게시판짜기 Part1.8 JSP 게시글 조회] 게시글 조회기능 및 게시글 삭제

2012/07/10 - [Lecture/Jsp] - [본격 게시판짜기 Part2.1 Model2 MVC패턴] 뷰(View) 코드 분리


안녕하세요 cocy입니다.

지난시간에는 스크립트릿이 난무한 jsp페이지를 독자적인 view를 구성하기위해

JSTL 라이브러리와 request.setAttribute() 를 사용하여 단하나의 스크립트릿으로 코드를 분리하였는데요,

이번시간에는 컨트롤러를 구성하기전에 Entity Beans라는 놈에 대해서 먼저 진행하도록 하겠습니다.


Entity Beans의 정의는 다음과 같습니다.


- DB에 저장된 데이터를 객체로 표현하기위한 EJB Component

- Entity Bean의 내용은 DB의 내용과 일치

- Entity Bean하나의 객체는 DB 테이블의 하나의 row와 mapping됨

- DB의 하나의 행(recode, row, entity)은 여러개의 열(column, attribute)을 가지고있는데 

- 각각의 attribute는 Bean객체의 멤버필드에 값이 저장됨


더 많은 설명이 있지만 이정도만 하겠습니다.

쉽게 말해서 데이터베이스에서 가져온 데이터들을 담는 그릇이라고 생각하시면 이해가 빠르실겁니다.


직접 코드로 설명하겠습니다.

일단 src폴더에 패키지를 하나 생성합시다.



그 다음은

생성한 패키지안에

Board라고 하는 Java 파일을 하나 만들어 주시기 바랍니다.

만든 패키지에 우클릭 후 New > Class 입니다.


이후 그림과같이 데이터베이스의 컬럼명과 일치하도록 변수들을 pirvate로 선언해줍니다.



어떤 용도인지 감이 잡히시나요?

해당 변수를 사용하기위해 겟터와 셋터를 만들어 줍시다.

손으로 치기에는 오타도 날것같고 너무 많습니다. 

이클립스에는 이를 위해 코드제네레이터기능이 있습니다.

다음과 같이 따라합시다.





이외에도 모든 변수들을 출력할수있는 toString()이나

생성자 코드들을 자동으로 생성해줍니다.

유용한 기능이니 팍팍 애용합시다.


이제 사용할 수 있는 Bean이 생겼으니 index.jsp 페이지로 돌아가서 사용해봅시다.


일단 이 빈을 사용하기위해 코드 상단에 import를 해줍니다.


                     <%@ page import="com.board.beans.Board" %>


그리고 이 객체를 ArrayList에 담기위해 ArrayList 역시 import해줍시다.


<%@ page import="java.util.ArrayList" %>


그럼 이제 index.jsp를 분리할 준비가 되었습니다.


요는 DB에서 가져온 데이터들을 Board bean을 생성한후 

코드 제네레이터로부터 만든 setter를 통해 값을 셋팅합니다.

이후 arraylist로 값을 받아서 

jstl을 통해 표시를 해주면 되겠습니다.


코드는 다음과 같습니다.



소스 설명은 주석을 참고하시기바랍니다. 

빨간폰트부분을 중점적으로 보시면 되겠습니다.

다음시간에는 컨트롤러 구성에 들어가도록 하겠습니다.

수고하셨습니다.


다음장으로 >> http://cusmaker.tistory.com/86