Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 쿠키 종류
- DataSource 설정
- PrepareStatement란?
- Persistence 쿠키
- ServletConfig란
- ConnectionPool이란?
- 애너테이션으로 서블릿에서 초기화
- JRE라이브러리 깨짐
- 쿠키API
- Project facet java version 10 is not supported
- Statement 단점
- 오라클 데이터베이스 접속
- 서블릿과 오라클 연동
- Session쿠키
- import 오류
- JNDI란
- 세션트래킹 이란
- ClassPath 경로
- 자바 웹을 다루는 기술
- Tomcat DataSource 설정
- ServletContext 메서드
- 쿠키실행과정
- web.xml에 load-on-startup 설정
- 서블릿에서 초기화하는방법
- 이클립스 톰캣 DataSource사용방법
- Configure build path
- 스크립트 요소 예제
- load-on-startup
- DataSource이란?
- 쿠키생성위치
Archives
- Today
- Total
백문이불여일타
DTO,DAO 차이점 본문
DTO(Data Transfer Object)
- 데이터 전달 단위, 객체를 표현하는 단위
- 보통 테이블의 컬럼들을 멤버변수로 처리한다.
- 캡슐화된 객체여야 함(멤버변수는 private 으로, public getter/setter 메서드가 필수!!)
DTO 기본 예제
package sec01.ex01;
import java.sql.Date;
public class MemberVO {
/*멤버변수는 private로 지정*/
private String id;
private String pwd;
private String name;
private String email;
private Date joinDate;
public MemberVO() {
System.out.println("MemberVO 생성자 호출");
}
/*public getter,setter 메서드 생성*/
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getJoinDate() {
return joinDate;
}
public void setJoinDate(Date joinDate) {
this.joinDate = joinDate;
}
}
DAO(Data Access Object)
- Data Access Object 의 약자로 데이터베이스의 data에 접근하기 위한 객체입니다.
- DAO의 경우는 DB와 연결할 Connection 까지 설정되어 있는 경우가 많습니다.
그래서 현재 많이 쓰이는 Mybatis 등을 사용할 경우 커넥션풀까지 제공한다.
- 데이터베이스 관련 작업을 전담하는 클래스
- 데이터베이스에 연결하여, 입력 , 수정, 삭제, 조회 등의 작업을 하는 클래스
- 데이터베이스에 CRUD 작업이 필요하다
DAO 예제
package sec01.ex01;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class MemberDAO {
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String url = "jdbc:oracle:thin:@localhost:1521:XE";
private static final String user = "scott";
private static final String pwd = "tiger";
private Connection con;
private Statement stmt;
public List<MemberVO> listMembers() {
List<MemberVO> list = new ArrayList<MemberVO>();
try {
connDB();
String query = "select * from t_member ";
System.out.println(query);
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String id = rs.getString("id");
String pwd = rs.getString("pwd");
String name = rs.getString("name");
String email = rs.getString("email");
Date joinDate = rs.getDate("joinDate");
MemberVO vo = new MemberVO();
vo.setId(id);
vo.setPwd(pwd);
vo.setName(name);
vo.setEmail(email);
vo.setJoinDate(joinDate);
list.add(vo);
}
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
private 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();
}
}
}
'Java' 카테고리의 다른 글
Jsp&Servlet:: JNDI란? , 이클립스 톰캣 DataSource 설정방법 (0) | 2019.07.19 |
---|---|
Jsp&Servlet::DataSource ,ConnectionPool이란? (0) | 2019.07.19 |
Jsp&Servlet:: PrepareStatement란? _실습포함 (0) | 2019.07.19 |
DTO, VO 차이점 (0) | 2019.07.19 |
Comments