SELECT USER
FROM DUAL;
--==>> SCOTT
SELECT *
FROM TAB;
SELECT *
FROM TBL_MEMBER;
--기존 테이블 제거
DROP TABLE TBL_MEMBER PURGE;
--==>> Table TBL_MEMBER이(가) 삭제되었습니다.
-- 휴지통 비우기
PURGE RECYCLEBIN;
--==>> RECYCLEBIN이(가) 비워졌습니다.
-- 기존 스퀀스 제거
DROP SEQUENCE MEMBERSEQ;
--==>> Sequence MEMBERSEQ이(가) 삭제되었습니다.
--------------------------------------------
CREATE TABLE TBL_MEMBER
( SID NUMBER
, NAME VARCHAR2(30)
, TEL VARCHAR2(40)
, 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');
--==>> 1 행 이(가) 삽입되었습니다.
--> 한 줄 구성
INSERT INTO TBL_MEMBER(SID,NAME,TEL) VALUES(MEMBERSEQ.NEXTVAL, '강초롱','010-1111-1111')
;
--○ 테이블 전체 조회 쿼리문 구성
SELECT SID,NAME,TEL
FROM TBL_MEMBER;
--==>> 1 강초롱 010-1111-1111
-->한줄구성
SELECT SID,NAME,TEL FROM TBL_MEMBER ORDER BY SID
;
-->1 강초롱 010-1111-1111
--○인원 수 확인 쿼리문 구성
SELECT COUNT(*) AS COUNT
FROM TBL_MEMBER;
-->한줄구성
SELECT COUNT(*) AS COUNT FROM TBL_MEMBER
;
-->1
--커밋
COMMIT;
오라클 WebApp08_scott.sql
SELECT USER
FROM DUAL;
--==>> SCOTT
SELECT *
FROM TAB;
SELECT *
FROM TBL_MEMBER;
--기존 테이블 제거
DROP TABLE TBL_MEMBER PURGE;
--==>> Table TBL_MEMBER이(가) 삭제되었습니다.
-- 휴지통 비우기
PURGE RECYCLEBIN;
--==>> RECYCLEBIN이(가) 비워졌습니다.
-- 기존 스퀀스 제거
DROP SEQUENCE MEMBERSEQ;
--==>> Sequence MEMBERSEQ이(가) 삭제되었습니다.
--------------------------------------------
CREATE TABLE TBL_MEMBER
( SID NUMBER
, NAME VARCHAR2(30)
, TEL VARCHAR2(40)
, 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');
--==>> 1 행 이(가) 삽입되었습니다.
--> 한 줄 구성
INSERT INTO TBL_MEMBER(SID,NAME,TEL) VALUES(MEMBERSEQ.NEXTVAL, '강초롱','010-1111-1111')
;
--○ 테이블 전체 조회 쿼리문 구성
SELECT SID,NAME,TEL
FROM TBL_MEMBER;
--==>> 1 강초롱 010-1111-1111
-->한줄구성
SELECT SID,NAME,TEL FROM TBL_MEMBER ORDER BY SID
;
-->1 강초롱 010-1111-1111
--○인원 수 확인 쿼리문 구성
SELECT COUNT(*) AS COUNT
FROM TBL_MEMBER;
-->한줄구성
SELECT COUNT(*) AS COUNT FROM TBL_MEMBER
;
-->1
--커밋
COMMIT;
src-com.util test - MemberDAO.java
/*==============================================
MemberDAO.java
- 데이터 베이스 액션 처리 전용 객체 활용
================================================*/
package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.util.DBConn;
public class MemberDAO
{
private Connection conn;
public MemberDAO () throws ClassNotFoundException, SQLException
{
conn = DBConn.getConnection();
}
//데이터 입력 메소드 정의
public int add(MemberDTO member) throws SQLException
{
int result = 0;
String sql ="INSERT INTO TBL_MEMBER(SID,NAME,TEL) VALUES(MEMBERSEQ.NEXTVAL, ?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, member.getName());
pstmt.setString(2, member.getTel());
result = pstmt.executeUpdate();
pstmt.close();
return result;
}
// 리스트 전체 출력 메소드 정의
public ArrayList<MemberDTO> lists() throws SQLException
{
ArrayList<MemberDTO> result = new ArrayList<MemberDTO>();
String sql = "SELECT SID, NAME, TEL FROM TBL_MEMBER ORDER BY SID";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next())
{
MemberDTO member = new MemberDTO();
member.setSid(rs.getString("SID"));
member.setName(rs.getString("NAME"));
member.setTel(rs.getString("TEL"));
result.add(member);
}
rs.close();
pstmt.close();
return result;
}
// 인원 수 확인을 위한 메소드 준비
public int count() throws SQLException
{
int result =0;
String sql = "SELECT COUNT(*) AS COUNT FROM TBL_MEMBER";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
if (rs.next())
{
result = rs.getInt("COUNT");
}
rs.close();
pstmt.close();
return result;
}
// 데이터 베이스 연결 종료 담당 메소드 정의
public void close() throws SQLException
{
DBConn.close();
}
}
MemberInsert.jsp
<%@page import="com.test.MemberDAO"%>
<%@page import="com.test.MemberDTO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
StringBuffer str = new StringBuffer();
MemberDAO dao = null;
String memberCount = "<span id='memberCount'>전체 인원수 : ";
try
{
dao = new MemberDAO();
memberCount += dao.count() + "</span>";
str.append("<table class='tbl'>");
str.append("<tr><th>번호</th><th>이름</th><th>전화번호</th></tr>");
// MemberDAO 객체의 lists() 메소드 호출
//-- 반복문을 통해 <table> 및 하위 엘리먼트 생성
for(MemberDTO member : dao.lists())
{
str.append("<tr>");
str.append("<td>" + member.getSid() + "</td>");
str.append("<td>" + member.getName() + "</td>");
str.append("<td>" + member.getTel() + "</td>");
str.append("</tr>");
}
str.append("</table>");
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MemberList.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<style type="text/css">
.errMsg {font-size: small; color: red; display: none;}
</style>
<script type="text/javascript">
function formCheck()
{
var userName = document.getElementById("userName");
var userMsg = document.getElementById("userMsg");
nameMsg.style.display = "none";
if(userName.value == "")
{
nameMsg.style.display = "inline";
userName.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<div>
<h1>데이터베이스 연동 회원관리 실습</h1>
<hr>
</div>
<div>
<form action="MemberInsert.jsp" method="post" onsubmit="return formCheck()">
<table class="tbl">
<tr>
<th>이름(*)</th>
<td>
<input type="text" id="userName" name="userName">
<span class="errMsg" id="nameMsg">이름을 입력해야 합니다.</span>
</td>
</tr>
<tr>
<th>전화번호</th>
<td>
<input type="tel" id="userTel" name="userTel">
</td>
</tr>
<tr>
<td colspan="2">
<button type="submit" class="btn">회원 추가</button>
</td>
</tr>
</table>
</form>
<br><br>
<div>
<!-- 인원수 -->
<!-- 번호 이름 전화번호 -->
<%=memberCount %>
<%=str %>
</div>
</div>
</body>
</html>
MemberList.jsp
<%@page import="com.test.MemberDTO"%>
<%@page import="com.test.MemberDAO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
//MemberInsert.jsp
//-- 데이터 입력 처리 페이지
request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("userName");
String userTel = request.getParameter("userTel");
MemberDAO dao = null;
try
{
dao = new MemberDAO();
// MemberDTO 구성
MemberDTO member = new MemberDTO();
member.setName(userName);
member.setTel(userTel);
// dao 의 add() 메소드 호출 → insert 쿼리문 수행
dao.add(member);
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
// 사용자의 손에 URL 주소가 기록되어 있는 쪽지 전달
response.sendRedirect("MemberList.jsp");
%>
css
@charset "UTF-8";
*
{
font-family: 맑은 고딕;
color : #343;
}
.tbl
{
border-collapse: collapse;
width: 100%;
}
.tbl th, .tbl td
{
border: 1px solid gray;
border-left: 0px;
border-right: 0px;
padding: 3px;
line-height: 150%
}
.tbl th
{
font-weight: bold;
background-color: #EEE;
}
.btn
{
font-weight: bold;
color: #0000a0;
}
.btn.hover
{
color: orange;
}
.txt
{
border-radius: 3px;
}
.txt:focus
{
background-color: #eeeedd;
}
.txtNumber
{
text-align: right;
border-radius: 3px
}
.txtNumber:focus
{
background-color: #eeeedd;
}
textarea
{
font-family: 맑은 고딕;
font-weight: bold;
}
'Web(국비) > DB연결' 카테고리의 다른 글
[JAVA]-BEAN (0) | 2019.10.29 |
---|---|
DB연결-WebApp09 (0) | 2019.10.28 |
[Java] score DB연결 (0) | 2019.10.28 |
DB연결1 (0) | 2019.10.27 |
DB연결2 (0) | 2019.10.25 |