DAO 와 DTO에 대한 설명을 먼저 알아볼려고 한다.
DAO(Data Access Object) 란 ? - 데이터 베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 하는 클래스
일반적인 JSP 혹은 Servlet 페이지내에 위의 로직을 함께 기술할 수 도 있지만, 유지보수 및 코드의 모듈화를 위해 별도의 DAO클래스를 만들어 사용 한다.
DTO(Data Transfer Object) 란? - DAO클래스를 이용하여 데이터 베이스에서 데이터를 관리할 때 데이터를 일반적인 변수에 할당하여 작업 할수도 있지만, 해당 데이터의 클래스를 만들어 사용 한다. vo(Value Object)와 용어를 혼용해서 많이들 사용한다. 아래는 DTO와 VO에 대한 차이점을 알아볼 수 있다.
구조는 데이터베이스에 있는 정보들을 가져오기 위하여 DAO라는 클래스를 이용하여 데이터베이스에 접속하고, 거기서 나온 결과들을 DTO의 클래스에 저장을 한 후 그 정보들을 필요에 맞게 가공하여 jsp로 보여주는 구조이다.
먼저 DTO를 작성해보도록 하자.
처음에는 DTO가 이름만 들어서는 무엇인지 긴가 민가 했었으나, 이렇게 코드를 보니 여태껏 안드로이드를 하면서 많이 봤던 자바빈 같은 것이였다.
DTO는 자신의 DataBase에 있는 테이블에서 가져올 정보들에 맞게 작성해 주면 될 것이다.
다음은 DAO이다.
위와 같이 코드를 작성하면 select 구문으로 뺄 수 있게 된다.
다음은 JSP에서 DAO와 DTO로 가져온 내용을 확인 하는 코드이다.
이렇게 정보를 빼주면 된다.
여기서 가장 주의해야할 점은 DBConnector가 어디에 위치하고 있느냐 인데, 프로젝트명/web/WEB-INF/ 밑에 lib 디렉터리를 생성 해주고 거기 안에 집어 넣어준다. 나는 어느 lib에 존재해야하는 지 몰라서 계속해서 드라이버 로드 오류가 발생했었다.
'Java > JSP' 카테고리의 다른 글
Oracle JDBC 연결 (0) | 2019.09.12 |
---|---|
DB별 JDBC 드라이버 명 및 URL 형식 (0) | 2019.09.12 |
IntelliJ-JDBC-MariaDB연결하기(JDBC) (0) | 2019.09.12 |
JSP 에러페이지, HTTP 에러코드 정리 (0) | 2019.09.12 |
maven 이란? (0) | 2019.09.12 |