JSP [ DB 데이터 읽어오기 ]

양혜정·2024년 4월 27일
0

javascript_web

목록 보기
72/81

DB 데이터 읽어오기

  • DAO
List<PersonDTO_02> selectAll() thorows SQLException;
  • SQL문
select seq, name, school, color, food
     , to_char(registerday, 'yyyy-mm-dd hh24:mi:ss') AS registerday
     , to_char(updateday, 'yyyy-mm-dd hh24:mi:ss') AS updateday
from tbl_person_interest
order by seq;
  • DAO_imple
@Override
public List<PersonDTO_02> selectAll() throws SQLException {
		
	List<PersonDTO_02> personList = new ArrayList<>();
		
	try {
			
		String sql = " select seq, name, school, color, food "
			+ " , to_char(registerday, 'yyyy-mm-dd hh24:mi:ss') "
            +" AS registerday "
			+ " , nvl(to_char(updateday, 'yyyy-mm-dd hh24:mi:ss') "
            + ",' ') AS updateday "
			+ " from tbl_person_interest "
			+ " order by seq ";
			
		pstmt = conn.prepareStatement(sql);
			
		rs = pstmt.executeQuery();
			
		while(rs.next()) {
				
			PersonDTO_02 psdto = new PersonDTO_02();
				
            // 컬럼 name 대소문자 구분 x
			psdto.setSeq(rs.getInt("SEQ"));
			psdto.setName(rs.getString("NAME"));
			psdto.setSchool(rs.getString("school"));
			psdto.setColor(rs.getString("COLOR"));
				
			String foodes = rs.getString("FOOD");
			if(foodes != null) {
				psdto.setFood(foodes.split("\\,"));
			}
			else {
				psdto.setFood(null);
			}
				
			psdto.setRegisterday(rs.getString("REGISTERDAY"));
				
			psdto.setUpdateday(rs.getString("UPDATEDAY"));
				
			personList.add(psdto);
				
		}	// end of while(rs.next())---------	
	}finally {
		close();
	}
	return personList;
}	// end of public List<PersonDTO_02> selectAll() ------------
  • Controller
DAO클래스명 dao = new DAO_imple 클래스명();

// === doGet method 내 === //
String pathname = "";
		
try {
			
	List<DTO 클래스명> 변수명 = dao.selectAll();
	request.setAttribute("변수명에대한 key값", 변수명);
			
	pathname = "/WEB-INF/~~.jsp";
			
}catch(SQLException e) {
	pathname = "/WEB-INF/~~.jsp";
}	// end of try~catch-------------
		
RequestDispatcher dispatcher 
					= request.getRequestDispatcher(pathname);
		
dispatcher.forward(request, response);

URL 페이지 이동

  • 자바에서 URL 이동
    response sendRedirect("~~~");
response.sendRedirect(request.getContextPath() + "/~~");
// request.getContextPath() : 컨텍스트 패스명
  • 자바스크립트에서 URL 이동
    location.href = "이동하고자하는 url주소";
location.href = `~~.do?seq=${seq}`;
// '/' 가 없는 주소로 작성해야 한다.

정리

  • JSPServletBegin -> chap05.oracle.domain
    -> PersonDTO_02.java

  • JSPServletBegin -> chap05.oracle.model
    -> PersonDAO_03.java, PersonDAO_imple_04.java

  • JSPServletBegin -> chap05.oracle.controller
    -> PersonSelect_06.java, PersonDetail_07.java

  • JSPServletBegin -> webapp -> WEB-INF -> chap05
    -> SQL -> chap05_oracle.sql

  • JSPServletBegin -> webapp -> chap05 -> js
    -> personSelectAll.js

0개의 댓글

관련 채용 정보