gwooden_코린이
이클립스 JSP/서블릿 JDBC 사용해보기 본문
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String url = "jdbc:oracle:thin:@localhost:1521:XE";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border='1'>
<tr>
<th>이름</th>
<th>아이디</th>
<th>비밀번호</th>
<th>이메일</th>
<th>전화번호</th>
<th>권한</th>
</tr>
<%
String sql = "select * from member";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, "study", "1234");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
out.print("<tr>");
out.print("<td>" + rs.getString("name") + "</td>");
out.print("<td>" + rs.getString("userid") + "</td>");
out.print("<td>" + rs.getString("pw") + "</td>");
out.print("<td>" + rs.getString("email") + "</td>");
out.print("<td>" + rs.getString("phone") + "</td>");
out.print("<td>" + rs.getInt("admin") + "</td>");
out.print("</tr>");
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(rs != null)
rs.close();
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
%>
</table>
</body>
</html>
JDBC 드라이브 로드 -> 데이터베이스 연결 -> SQL문 실행 -> DB연결 끊음
DriverManager -> Connection -> Statement -> ResultSet
ojdbc6.jar 자바랑 DB연결시 필요한 API
Class.forName("oracle.jdbc.driver.OracleDriver");
DB에 연결
Connection 인터페이스
Connection conn = new Connection( ); X <--- 요런 방식으로는 불가능
Connection conn = DriverManager.getConnection(url, id, pw); O <-- 사용은 이런 식으로
url
jdbc : oracle:thin:[hostname]:[port]:dbname
jdbc:oracle:thin:@localhost:1521:XE
id : study <-- 본인이 설정한 id
pw : 1234 <-- 본인이 설정한 pw
conn.close();
Statement SQL문을 처
Statement stmt = conn.createStatement( );
메서드 :
executeQuery : select 처리 -> 결과 나타나는 경우에 사용
executeUpdate : insert, update, delete -> 결과가 나타나는게 아니라 그냥 테이블 내용이 변경되는 경우에 사용
stmt.executeQuery(SQL);
결과를 저장하는 ResultSet
ResultSet rs = stmt.executeQuery(SQL);
ResultSet 메서드
next( ) : 다음 데이터가 있는지 확인하 있으면 true, 없으면 false 리턴하고 다음으로 이동
previouse( ) : 이전 데이터가 있는지 혹인해서 있으면 true, 없으면 false 리턴하고 다음으로 이동
first( ) : 현재 위치에서 첫 번째로 이동
last( ) : 현재 위치에서 마지막으로 이동
<%@ 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>member 테이블에 추가할 데이터 입력</h1>
<form method="post" action="addResult.jsp">
이름 <input type="text" name="name"> <br>
아이디<input type="text" name="id"> <br>
비밀번호<input type="text" name="pw"> <br>
이메일 <input type="text" name="email"> <br>
전화번호 <input type="text" name="phone"> <br>
권한 <input type="radio" name="admin" value="1"> 관리자
<input type="radio" name="admin" value="0"> 일반회원 <br>
<input type="submit" value="확인">
</form>
</body>
</html>
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
Connection conn = null;
PreparedStatement pstmt = null;
Statement stmt = null;
String url = "jdbc:oracle:thin:@localhost:1521:XE";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String email = request.getParameter("email");
String phone = request.getParameter("phone");
int admin = Integer.parseInt(request.getParameter("admin"));
String sql = "insert into member values(?,?,?,?,?,?)";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, "study", "1234");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, id);
pstmt.setString(3, pw);
pstmt.setString(4, email);
pstmt.setString(5, phone);
pstmt.setInt(6, admin);
pstmt.executeUpdate();
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(pstmt != null)
pstmt.close();
if(conn != null)
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
%>
<a href="showMember.jsp">목록확인</a>
</body>
</html>
<%@page import="java.sql.*"%>
<%@page import="java.sql.PreparedStatement"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String id = "study";
String pw = "1234";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>사원정보</h1>
<table border="1">
<tr>
<th>사원번호</th>
<th>이름</th>
<th>생년월일</th>
<th>부서명</th>
</tr>
<%
try {
String sql = "select * from 사원";
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, id, pw);
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()) {
out.print("<tr>");
out.print("<td>" + rs.getInt("사원번호") + "</td>");
out.print("<td>" + rs.getString("이름") + "</td>");
out.print("<td>" + rs.getInt(3) + "</td>");
out.print("<td>" + rs.getString(4) + "</td>");
out.print("</tr>");
}
} catch(Exception e) {
out.print("조회 실패");
e.printStackTrace();
} finally {
try {
if(rs != null)
rs.close();
if(pstmt != null)
pstmt.close();
if(conn != null)
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
%>
</table>
</body>
</html>
'JSP&Servlet' 카테고리의 다른 글
이클립스 JSP/서블릿 로그인 및 회원가입 페이지 구현해보기 (0) | 2023.01.31 |
---|---|
데이터베이스 커넥션 풀 (DBCP) (0) | 2023.01.30 |
서블릿 필터 기능 (0) | 2023.01.27 |
jsp를 이용한 회원가입 페이지 한국어/영어 구현해보기 (0) | 2023.01.27 |
fmt 태그 사용해보기 (0) | 2023.01.26 |