728x90
0. 유저생성 및 테이블 정의
0-1. root가 아닌 개별 유저 생성
mysql> grant select,insert,update,delete,create,alter,drop
-> on jspdb7.* to 'jspid'@'localhost'
-> identified by 'jsppass';
Query OK, 0 rows affected, 1 warning (0.19 sec)
유저가 없으면 경고가 뜨지만 자동생성되니 무시하고 진행
0-2. 테이블 생성
mysql> create table member(
-> id varchar(20) primary key,
-> pass varchar(20),
-> name varchar(20),
-> date datetime
-> );
1. 테이블 데이터를 가져오는 jsp소스
<%@page import="java.text.SimpleDateFormat"%>
<%@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>jsp4/list.jsp</h1>
<%
Class.forName("com.mysql.jdbc.Driver");
String dbUrl = "jdbc:mysql://localhost:3306/jspdb7";
String dbUser = "jspid";
String dbPass = "jsppass";
Connection con = DriverManager.getConnection
(dbUrl, dbUser, dbPass);
String sql = "select * from member;";
PreparedStatement pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery(sql);
SimpleDateFormat sdf=new SimpleDateFormat
("yyyy-MM-dd HH:mm:ss");
%>
<table border="1">
<tr>
<th>아이디</th>
<th>비밀번호</th>
<th>이름</th>
<th>가입날짜</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("id")%></td>
<td><%=rs.getString("pass")%></td>
<td><%=rs.getString("name")%></td>
<td><%=sdf.format(rs.getTimestamp("date"))%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
ResultSet은 next메소드를 통해 다음 레코드 값을 가져올 수 있으며 레코드가 있을 시 1을 반환한다.
실행해보면 가입날짜 끝에 .0 이 붙어 나오는데 26라인의 SimpleDateFormat 내장객체를 이용해 43라인에서 포맷을 변환해줘야한다.