Memberinsert002.jps(자바 코드만 기입하는 곳)
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="com.util.DBConn"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
//자바와 관련된 내용만 적기
request.setCharacterEncoding("UTF-8");
//○데이터 수신 (Test002.jsp로 부터 ...)
String uName = request.getParameter("userName");
String uTel = request.getParameter("userTel");
//○ DB연결
Connection conn = DBConn.getConnection();
//DB에 쿼리문 전송하기 위해
//DB에전송할 쿼리문 준비 ->insert
String sql = String.format("INSERT INTO TBL_MEMBER(SID,NAME,TEL) VALUES(MEMBERSEQ.NEXTVAL, '%s','%s')",uName,uTel);
//○ DB 액션 처리 ->insert
//작업객체
Statement stmt=conn.createStatement();
//적용된 행의 갯수 반환
int result=0;
result=stmt.executeUpdate(sql);
if(result<1)
{
//등록이 안된경우라면,
//URL변경 ->sendRedirect() 메소드 이용
response.sendRedirect("Err002.jsp");
}
else
{
//등록된 경우라면
//URL변경 안내 ->sendRedirect() 메소드 이용
response.sendRedirect("Test002.jsp");
}
%>
DBConn.java
package com.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConn
{
private static Connection dbConn;
public static Connection getConnection() throws ClassNotFoundException, SQLException
{
if (dbConn == null)
{
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "scott";
String pwd = "tiger";
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
return dbConn;
}
public static Connection getConnection(String url, String user, String pwd) throws ClassNotFoundException, SQLException
{
if (dbConn == null)
{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
return dbConn;
}
public static void close() throws SQLException
{
if (dbConn != null)
{
if(!dbConn.isClosed())
dbConn.close();
}
dbConn = null;
}
}
Test002.jsp
<%@page import="com.util.DBConn"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
//TBL_MEMBER테이블에 저장된값을 주세요
//결과값 변수 구성
String str="";
//데이터베이스 연결
Connection conn = DBConn.getConnection();
//쿼리문준비
String sql="SELECT SID,NAME,TEL FROM TBL_MEMBER";
//작업 객체 생성 및 준비된 쿼리문 수행
//처음 생성한거니 statement작업객체
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
//결과 ResultSet에 대한 처리 ->반복문 구성
str += "<table class='tb'>";
str += "<tr>";
str += "<th id='numTitle'>번호</th>";
str += "<th id='nameTitle'>이름</th>";
str += "<th id='telTitle'>전화번호</th>";
str += "</tr>";
while(rs.next())
{
str+="<tr>";
str+="<td>"+rs.getString("SID")+"</td>";
str+="<td>"+rs.getString("NAME")+"</td>";
str+="<td>"+rs.getString("TEL")+"</td>";
str+="</tr>";
/* 또는
sb.append("<tr>");
sb.append("<td>" + rs.getString("SID") + "</td>");
sb.append("<td>" + rs.getString("NAME") + "</td>");
sb.append("<td>" + rs.getString("TEL") + "</td>");
sb.append("</tr>");
*/
}
str+="</table>";
rs.close();
stmt.close();
DBConn.close();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="styleSheet" type="text/css" href="css/mains.css">
<style type="text/css">
input{width:200px;}
button{width:200px; height:50px; font-weight:bold;}
button:hover{color:orange;}
.errMsg{font-size:small; color:red; display:none;}
th{background-color:gray; color:white;}
#numTitle{width:50px;}
#nameTitle{width:100px;}
#telTitle{width:160px;}
</style>
<script type="text/javascript">
function formCheck()
{
var uName=document.getElementById("userName");
var nErr=document.getElementById("nameErr");
nErr.style.display="none";
if(uName.value=="")
{
nErr.style.display="inline";
return false;
}
return true;
}
</script>
</head>
<body>
<div>
<h2>데이터베이스 연결 및 데이터 처리</h2>
<!-- 사용자 최초 요청 페이지 -->
<!-- http://localhost:8090/WebApp06/Test002.jsp -->
</div>
<div>
<form action="Memberinsert002.jsp" method="post" onsubmit="return formCheck()">
<table>
<tr>
<th>이름(*)</th>
<td><input type="text" id="userName" name="userName">
<span class="errMsg" id="nameErr">이름을 입력해야 합니다.</span></td>
</tr>
<tr>
<th>전화번호</th>
<td><input type="text" id="userTel" name="userTel" class="txt">
</td>
</tr>
<tr>
<th></th>
<td>
<button type="submit" id="btnAdd" class="btn">데이터추가</button>
</td>
</tr>
</table>
</form>
</div>
<div>
<%=str %>
</div>
</body>
</html>
WebApp06_scott.sql
--기존 테이블 제거
DROP TABLE TBL_MEMBER PURGE;
-->Table TBL_MEMBER이(가) 삭제되었습니다.
--휴지통 비우기
PURGE RECYCLEBIN;
-->RECYCLEBIN이(가) 비워졌습니다.
--기존 시퀀스 제거
DROP SEQUENCE MEMBERSEQ;
-->Sequence MEMBERSEQ이(가) 삭제되었습니다.
---------------------------------------------------------
--○실습 테이블 생성(TBL_MEMBER)
CREATE TABLE TBL_MEMBER
(
SID NUMBER
,NAME VARCHAR2(30)
,TEL VARCHAR2(30)
,CONSTRAINT MEMBER_SID_PK PRIMARY KEY(SID)
);
-->Table TBL_MEMBER이(가) 생성되었습니다.
--○시퀀스 생성
CREATE SEQUENCE MEMBERSEQ
NOCACHE;
-->Sequence MEMBERSEQ이(가) 생성되었습니다.
--○데이터 입력 쿼리문 구성
INSERT INTO TBL_MEMBER(SID,NAME,TEL)
VALUES(memberseq.nextval,'강초롱','010-1111-1111');
-->한줄구성
INSERT INTO TBL_MEMBER(SID,NAME,TEL) VALUES(memberseq.nextval,'강초롱','010-1111-1111')
;
-->1 행 이(가) 삽입되었습니다.
--○테이블 전체 조회 쿼리문 구성
SELECT SID,NAME,TEL
FROM TBL_MEMBER;
-->한줄구성
SELECT SID,NAME,TEL FROM TBL_MEMBER;
-->1 강초롱 010-1111-1111
--○인원 수 확인 쿼리문 구성
SELECT COUNT(*) AS COUNT
FROM TBL_MEMBER;
-->한줄구성
SELECT COUNT(*) AS COUNT FROM TBL_MEMBER
;
-->1
--커밋
COMMIT;
'Web(국비) > DB연결' 카테고리의 다른 글
DB연결-WebApp09 (0) | 2019.10.28 |
---|---|
DB-연결 WebApp08 (0) | 2019.10.28 |
[Java] score DB연결 (0) | 2019.10.28 |
DB연결1 (0) | 2019.10.27 |
DB연결 (0) | 2019.10.25 |