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라인에서 포맷을 변환해줘야한다.

+ Recent posts