JDBC - DAO & DTO를 이용한 Select문 작성에 대해서 알아보자.
DAO와 DTO를 import 하고, bdao 객체와 blist 컬렉션을 생성한다. blist에는 DTO타입의 변수만 저장되는 List인터페이스 타입으로, DAO의 getBoardList();가 저장이 된다. if조건문에서 blist가 null이 아니고 size()가 0보다 크면 향상된 for문에 의해서 blist가 출력되는 코드이다.
DAO(Data Access Object)
DAO는 데이터베이스의 데이터에 접근하며, 데이터베이스를 사용해 데이터 조작하는 기능을 하는 객체를 뜻한다. 여기서 getBoardList메소드는 DTO타입만 저장하는 컬렉션 blist를 생성한다. 그 후, try문에 의해 jdbc 드라이버 클래스가 로드되며, 데이터베이스와 연결해 SQL문을 생성하고, pt객체에 SQL문을 미리 컴파일항여 수행한다. rs객체에는 executeQuery()로 SQL문장을 실행한다. 여기서 SQL문장은 find_board테이블에서 모든 레코드행을 bno를 기준으로 내림차순으로 정렬해 지정해준다. 그리고 while문으로 rs의 다음 레코드 행이 존재하면 아래의 문장들을 실행한다. b인스턴스를 생성해서, setter함수로 값을 저장해주고, blist에 add(b)해준다. finally로 생성된 rs, pt, con을 닫아준다. 마지막으로 blist를 반환해준다.
DTO(Data Transfet Object)
프로세스 간에 데이터를 전달하는 객체로 데이터가 저장되어 있다. private로 지정되어 있어 다른 클래스에서 접근하지 못하고 setter, getter메소드로 접근할 수 있다.
DAO, DTO를 사용하지 않으면 코드가 전체적으로 길어지는 것을 알 수 있다.
'언어공부 > JDBC&오라클&SQL' 카테고리의 다른 글
JDBC - DAO & DTO를 이용한 Delete문 작성 (0) | 2021.06.25 |
---|---|
JDBC - DAO & DTO를 이용한 Update문 작성 (0) | 2021.06.24 |
JDBC - DAO & DTO를 이용한 Insert문 작성 (0) | 2021.06.22 |
JDBC - DAO / DTO / VO (0) | 2021.06.21 |
JDBC - delete문 실행(statement / preparedStatement 인터페이스 별로 작성) (0) | 2021.06.19 |