반응형
DAO(Data Access Object)의 정의
- 자바 프로그램에서 데이터베이스 작업만 수행하는 클래스
- 자바 프로그램의 다른 기능을 하는 클래스와 구분하여 작업
- 화면 기능, 데이터베이스 연동 기능 등을 각각 담당하는 클래스로 나누어 프로그램을 구현
- 유지 관리가 편리하며, 재사용성이 높음
▣ DAO 클래스 예제 코드
import java util.*;
public class MemberDAO {
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String url = "jdbc:oracle:this:@127.0.0.1:1521:XE";
private static final String user = "scott";
private static final String pwd = "tiger";
private Connection con;
private Statement stmt;
private ResultSet rs;
public ArrayList<MemberVO> list() {
ArrayList<MemberVO> list = new ArrayList<MemberVo>();
try {
conDB();
String query = "select * from Member";
System.out.println(query);
ResultSet rs = stmt.executeQuery(query);
while(rs.next()) {
String id = rs.getString("id");
String name = rs.getString("name");
int height = rs.getString("height");
int weight = rs.getString("weight");
int age = rs.getInt("age");
MemberVO data = new MemberVO();
data.setId(id);
data.setName(name);
data.setHeight(height);
data.setWeight(weight);
data.setAge(age);
list.add(data);
} //end while
stmt.close();
con.close();
}catch(Exception e) {
e.printStackTrace();
}
return list;
} //end list()
public void connDB() {
try {
Class.forName(driver);
System.out.println("Oracle 드라이버 로딩 성공");
con = DriverManager.getConnection(url,user,pwd);
System.out.println("Connection 생성 성공");
stmt = con.createStatement();
System.out.println("Statement 생성 성공");
} catch(Exception e) {
e.printStackTrace();
}
}
}
VO(Value Object)의 정의
- 여러 다른 타입의 데이터를 다른 클래스로 전달할 때 사용
- 'TO(Transfer Object)'라고도 한다.
VO 만드는 방법
- 테이블의 필드명을 속성으로 선언
- 생성자를 구현
- 각 속성에대한 getter/setter 메서드를 구현1
반응형
'개발 > DB&SQL' 카테고리의 다른 글
[데이터베이스] ORM(Object Relational Mapping)에 대해서 알아보기 (5) | 2022.07.20 |
---|---|
executeQuery 와 executeUpdate (0) | 2021.08.24 |
JDBC(Java Database Connectivity) 정의 (0) | 2021.05.22 |
SQL(Structured Query Language) (0) | 2021.05.22 |
Database(데이터 베이스) (0) | 2021.05.22 |