DAO (Data Access Object) : DB에 접근하는 객체

 - JDBC(링크)이용

 - 생성자에서 Driver로딩

 - 메서드로 DB접근을 구현 (DTO에서 가져온 데이터를 출력)

 - DB에 접근해서 SELECT, INSERT, UPDATE, DELETE를 수행하는 객체

public class RegisterDao {
	
	private final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
	private final String JDBC_URL = "jdbc:oracle:thin:@localhost:1521:xe";
	private final String USER = "scott";
	private final String PASS = "1111";
	
	public RegisterDao() {
		try {
			Class.forName(JDBC_DRIVER);
		} catch (Exception e) {
			System.out.println("Error : JDBC 로딩 실패");
		}
	}
	
	public Vector<RegisterDto> getRegisterList() {
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		
		Vector<RegisterDto> vlist = new Vector<RegisterDto>();
		String sql = "SELECT * FROM emp";
		
		try {
			conn = DriverManager.getConnection(JDBC_URL, USER, PASS);
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			
			while (rs.next()) {
				RegisterDto dto = new RegisterDto();
				dto.setEmpno(rs.getInt("empno"));
				dto.setEname(rs.getString("ename"));
				dto.setJob(rs.getString("job"));
				dto.setMgr(rs.getInt("mgr"));
				dto.setHiredate(rs.getDate("hiredate"));
				dto.setSal(rs.getInt("sal"));
				dto.setComm(rs.getInt("comm"));
				dto.setDeptno(rs.getInt("deptno"));
				vlist.addElement(dto);	
			}		
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (rs != null) rs.close();
				if (stmt != null) stmt.close();
				if (conn != null) conn.close();
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
		return vlist;
	}
}

 

 

DTO (Data Transfer Object) : DB의 데이터를 Java로 가져오는 객체 (형태를 변환해서 가져옴)

- 자바빈(링크) 이용 

- getter, setter 구현

public class RegisterDto {
	
	private int empno;
	private String ename;
	private String job;
	private int mgr;
	private Date hiredate;
	
	public int getEmpno() {
		return empno;
	}
	public void setEmpno(int empno) {
		this.empno = empno;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public int getMgr() {
		return mgr;
	}
	public void setMgr(int mgr) {
		this.mgr = mgr;
	}
	public Date getHiredate() {
		return hiredate;
	}
	public void setHiredate(Date hiredate) {
		this.hiredate = hiredate;
	}	
}

'Web > JSP&Servlet' 카테고리의 다른 글

[JSP] 내장 객체 - response  (0) 2020.07.31
[JSP] 내장 객체 - request  (0) 2020.07.31
HTML form태그  (0) 2020.07.27
[JSP] 내장 객체  (0) 2020.07.26
JDBC  (0) 2020.04.24

+ Recent posts