EmpDao.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import edu.global.ex.dto.EmpDto;
public class EmpDao {
// 커넥션풀을 使用하기 爲한 소스코드 (DataSource를 import할 時 java.sql로 해야한다。)
private DataSource dataSource; // 커넥션풀 客體
public EmpDao() {
try {
Context context = new InitialContext();
dataSource = (DataSource) context.lookup("java:comp/env/jdbc/oracle");
} catch (NamingException e) {
e.printStackTrace();
}
}
public List<EmpDto> empList() {
List<EmpDto> emps = new ArrayList<>();
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
String query = "SELECT * FROM EMP";
connection = dataSource.getConnection();
preparedStatement = connection.prepareStatement(query);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
int empno = resultSet.getInt("empno");
String ename = resultSet.getString("ename");
String job = resultSet.getString("job");
int mgr = resultSet.getInt("mgr");
String hiredate = resultSet.getString("hiredate");
int sal = resultSet.getInt("sal");
String comm = resultSet.getString("comm");
int deptno = resultSet.getInt("deptno");
EmpDto dto = new EmpDto(empno, ename, job, mgr, hiredate, sal, comm, deptno);
emps.add(dto);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return emps;
}
}
EmpDto.java
public class EmpDto {
private int empno;
private String ename;
private String job;
private int mgr;
private String hiredate;
private int sal;
private String comm;
private int deptno;
public EmpDto() {
}
public EmpDto(int empno, String ename, String job, int mgr, String hiredate, int sal, String comm, int deptno) {
this.empno = empno;
this.ename = ename;
this.job = job;
this.mgr = mgr;
this.hiredate = hiredate;
this.sal = sal;
this.comm = comm;
this.deptno = deptno;
}
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 String getHiredate() {
return hiredate;
}
public void setHiredate(String hiredate) {
this.hiredate = hiredate;
}
public int getSal() {
return sal;
}
public void setSal(int sal) {
this.sal = sal;
}
public String getComm() {
return comm;
}
public void setComm(String comm) {
this.comm = comm;
}
public int getDeptno() {
return deptno;
}
public void setDeptno(int deptno) {
this.deptno = deptno;
}
}
emp.jsp
<%@page import="edu.global.ex.dto.EmpDto"%>
<%@page import="java.util.List"%>
<%@page import="edu.global.ex.dao.EmpDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
EmpDao empDao = new EmpDao();
List<EmpDto> emps = empDao.empList();
for (EmpDto emp : emps) {
out.print("社番" + emp.getEmpno() +
" 姓名" + emp.getEname() +
" 職種" + emp.getJob() +
" 매니저" + emp.getMgr() +
" 入社日" + emp.getHiredate() +
" 月給" + emp.getSal() +
" 賞與" + emp.getComm() +
" 部署番號" + emp.getDeptno() + "<br>"
);
}
%>
</body>
</html>
DeptDao.java
<jsp:getProperty name="member" property="name" />