본문 바로가기

Java, Spring/17일

17일차 5

 

위에서 부서명을 추가해 보여주게 하자.

EmpDto수정

package test.db; public class EmpDto { private int empno; private String ename; private int sal; private String dname; 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 int getSal() { return sal; } public void setSal(int sal) { this.sal = sal; } public String getDname() { return dname; } public void setDname(String dname) { this.dname = dname; } }

 

EmpListController 수정

package test.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class EmpListController extends AbstractController {

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		//보통 모델부를 호출하지만  그냥 하자 간단하게..
		//datebase connection pooling도 안쓰고 그냥 일반 jdbc방법을 쓰자.
		Connection cn = null;
		PreparedStatement st = null;
		ResultSet rs = null;		

		String sql = "SELECT e.empno, e.ename, e.sal, d.dname " + 
				 "FROM t_emp e, t_dept d " + 
				 "WHERE e.deptno =d.deptno ORDER BY 1 ASC";
		
		List<EmpDto> list = new ArrayList<EmpDto>();
		
		try {
			Class.forName("oracle.jdbc.OracleDriver");
			cn = DriverManager.getConnection(
					"jdbc:oracle:thin:@localhost:1521:xe", "oraclejava", "oraclejava");
			st = cn.prepareStatement(sql);
			rs = st.executeQuery();			
			
			while(rs.next()) {
				EmpDto dto = new EmpDto();
				dto.setEmpno(rs.getInt("empno"));
				dto.setEname(rs.getString("ename"));
				dto.setSal(rs.getInt("sal"));
				dto.setDname(rs.getString("dname"));
				list.add(dto);
			} 	
			
		} catch (Exception e) {
			e.printStackTrace();
		} finally {			
			if(rs != null ) try {rs.close();} catch(Exception e) {}
			if(st != null ) try {st.close();} catch(Exception e) {}
			if(cn != null ) try {cn.close();} catch(Exception e) {}
		}

		//view에다 뿌려야지
		ModelAndView mav = new ModelAndView();
		mav.setViewName("/test/emplist.jsp");
		mav.addObject("list", list);
		return mav;
	}
}

 

emplist.jsp 수정

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
					<!-- uri=""사이에서 ctrl-space하면 사용가능 목록나와 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="css/board.css" type="text/css">
</head>
<body>
<table>
	<caption>사원리스트</caption>
	<tr>
		<th>사원번호</th>
		<th>이름</th>
		<th>급여</th>
		<th>부서명</th>
	</tr>
	<c:forEach items="${list }" var="dto"> 
	<tr>
		<td align="center">${dto.empno }</td>
		<td align="center">${dto.ename }</td>
		<td align="center">${dto.sal }</td>
		<td align="center">${dto.dname }</td>
	</tr>
	</c:forEach>	
</table>

</body>
</html>

 

 

.

.

.

.

.

'Java, Spring > 17일' 카테고리의 다른 글

17일차 3  (0) 2012.09.20
17일차 4  (0) 2012.09.20
17일차 6  (0) 2012.09.20
17일차 7  (0) 2012.09.20
17일차 8  (0) 2012.09.20