list

Mia Lee·2021년 12월 28일
0

JSP

목록 보기
21/22
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ 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>
	<h1>글목록</h1>
	<table border="1">
		<tr>
			<th width="50">번호</th>
			<th width="400">제목</th>
			<th width="150">작성자</th>
			<th width="150">작성일</th>
			<th width="100">조회수</th>
		</tr>
		<%
		// study_jsp2 데이터베이스 board 테이블의 모든 레코드 조회 후
		// 테이블 내의 tr 태그를 통해 각 레코드별로 한 줄씩 출력하기
		// => 출력 위치에 표현식을 통해 getXXX() 메서드를 직접 사용(변수 저장 불필요)
		// => 날짜(Timestamp 타입)는 getTimestamp() 또는 getDate() 사용
		// => 조회 시 글번호(num)를 기준으로 내림차순 정렬 수행 => ORDER BY 절 필요
		// 0. DB 연결에 필요한 문자열 변수 선언
		String driver = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://localhost:3306/study_jsp2";
		String user = "root";
		String password = "1234";
		
		// 1. 드라이버 클래스 로드
		Class.forName(driver);
		
		// 2. DB 연결
		Connection con = DriverManager.getConnection(url, user, password);
		
		// 3. SQL 구문 작성 및 전달
		// SELECT 컬럼명 FROM 테이블명 ORDER BY 정렬할컬럼명 정렬방식
		// => 내림차순(10 -> 1) : DESC, 오름차순(1 -> 10) : ASC
		String sql = "SELECT * FROM board ORDER BY num DESC";
		PreparedStatement pstmt = con.prepareStatement(sql);
		
		// 4. SQL 구문 실행 및 결과 처리
		ResultSet rs = pstmt.executeQuery();
		
		// 반복 작업을 통해 목록 출력을 위해서는 while 문 사용 필요
		while(rs.next()) { // 다음 레코드(게시물)이 존재할 동안 반복
			// <tr><td> 태그를 활용하여 각 게시물을 차례대로 출력
		%>
			<tr>
				<td><%=rs.getInt("num") %></td>
				<td><%=rs.getString("subject") %></td>
				<td><%=rs.getString("name") %></td>
				<td><%=rs.getDate("date") %></td>
				<td><%=rs.getInt("readcount") %></td>
			</tr>
		<%
		}
		
		rs.close();
		pstmt.close();
		con.close();
		%>
	</table>
</body>
</html>











0개의 댓글