싱글톤
싱글톤에서 객체는 본인이 만들고 공용변수 하나를 선언하여 공용변수로 필요한 객체에게 알려준다.
싱글톤은 객체를 하나만 만들고 주소만 공유(불필요한 객체를 생성하지 않아서 성능이나 안정성면에 좋음)
예)
public static DAO dao;
public static DAO getInstance(){
if(dao==null){
dao = new DAO();
}
return dao;
}
외부에서는 getInstance()로 접근해서 객체의 주소를 요청
변수와 메서도는 클래스 외부에서 접근 가능해야하므로 스태틱으로 지정.
정보처리산업기사 작업형 예제 실습
1.뷰
1.1인덱스뷰
1.1.1header, nav
<%@ 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>
<style type="text/css">
header{
padding-left: 30px;
padding-top: 4px;
width: 1028px;
height: 90px;
background-color: red;
box-sizing: border-box;
}
nav{
width: 1028px;
height: 50px;
background-color: yellow;
display: inline;
float: left;
padding-top: 0px;
}
ul li{
list-style: none;
float: left;
margin-right: 30px;
margin-left: 30px;
}
section{
width: 1028px;
height: 500px;
}
footer{
width: 1028px;
text-align: center;
height: 30px;
background-color: blue;
}
</style>
</head>
<body>
<header>
<h1>학사정보 시스템</h1>
</header>
<nav>
<ul>
<li><a href = "Index">[홈으로]</a></li>
<li><a href = "AddForm">[학생등록]</a></li>
<li><a href = "ViewList">[학생보기]</a></li>
<li><a href = "ViewClass">[학생별 신청내역]</a></li>
</ul>
</nav>
</body>
</html>
1.1.2section
<%@ 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>
<%@ include file="header_nav.jsp" %>
<section>
</section>
<%@ include file="footer.jsp" %>
</body>
</html>
1.1.3footer
<%@ 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>
<footer>
<span> 휴먼교육센터 </span>
</footer>
</body>
</html>
1.2학생리스트 보기 뷰
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="java.util.*" %>
<%@ page import ="com.hm.VO.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
section h1{
text-align: center;
}
table{
margin: 0 auto;
}
</style>
</head>
<body>
<%@ include file="header_nav.jsp" %>
<section>
<h1>학생 리스트</h1>
<table border=1>
<thead>
<tr>
<th>번호</th>
<th>이름</th>
<th>전화</th>
<th>주소</th>
<th>가입일자</th>
<th>학년</th>
<th>삭제</th>
</tr>
</thead>
<tbody>
<% ArrayList<StudVO> sList = (ArrayList)request.getAttribute("sList"); %>
<%
for(int i = 0; i< sList.size(); i++){
StudVO svo = sList.get(i);
out.print("<tr>");
out.print("<td>"+svo.getNo()+"</td>");
out.print("<td>"+svo.getName()+"</td>");
out.print("<td>"+svo.getTel()+"</td>");
out.print("<td>"+svo.getAddress()+"</td>");
out.print("<td>"+svo.getJoinDate().substring(0, 10)+"</td>");
out.print("<td>");
if(svo.getGrade().equals("1")){
out.print("A");
}else if(svo.getGrade().equals("2")){
out.print("B");
}else if(svo.getGrade().equals("3")){
out.print("C");
}else if(svo.getGrade().equals("4")){
out.print("D");
}
out.print("</td>");
out.print("<td><input type = 'button' onclick=");
out.print("\""+"location.href =");
out.print("'"+"DelStud?no=");
out.print(svo.getNo()+"'");
out.print("\""+ "value='삭제'></td>");
out.print("</tr>");
}
%>
<tr style = "text-align: center;">
<td colspan = "7"><input type = 'button' onclick="mody()" value='수정'></td>
</tr>
</tbody>
</table>
</section>
<%@ include file="footer.jsp" %>
</body>
<script type="text/javascript">
function mody(){
let modyNo = prompt("수정할 번호를 입력하세요.");
window.location.href = "ModyStud?no="+modyNo;
}
</script>
</html>
1.3학생 등록 뷰
<%@ 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>
<style type="text/css">
section h1 {
text-align: center;
}
table {
margin: 0 auto;
text-align: center;
}
</style>
</head>
<body>
<%@ include file="header_nav.jsp"%>
<section>
<h1>학생 등록</h1>
<form id="add" action="AddStud" method="get">
<table border=1>
<tr>
<th>번호</th>
<td><input id="no" type="text" name="no" value = "${no}"></td>
</tr>
<tr>
<th>이름</th>
<td><input id="name" type="text" name="name"></td>
</tr>
<tr>
<th>전화</th>
<td><input id="tel" type="text" name="tel"></td>
</tr>
<tr>
<th>주소</th>
<td><input id="address" type="text" name="address"></td>
</tr>
<tr>
<th>가입일자</th>
<td><input id="joindate" type="text" name="joindate"></td>
</tr>
<tr>
<th>학년</th>
<td><input class="grade" type="radio" name="grade" value="1" checked>
1학년 <input class="grade" type="radio" name="grade" value="2">
2학년 <input class="grade" type="radio" name="grade" value="3">
3학년 <input class="grade" type="radio" name="grade" value="4">
4학년</td>
</tr>
<tr>
<td colspan="2"><input type="button" onclick="addSubmit()"
value="저장"></td>
</tr>
</table>
</form>
</section>
<%@ include file="footer.jsp"%>
</body>
<script type="text/javascript">
function addSubmit() {
let no = document.querySelector("#no").value;
let name = document.querySelector("#name").value;
let tel = document.querySelector("#tel").value;
let address = document.querySelector("#address").value;
let joindate = document.querySelector("#joindate").value;
let add = document.querySelector("#add");
console.log(no+name+tel+address+joindate);
if (no != "" && name != "" && tel != "" && address != ""
&& joindate != "") {
add.submit();
} else {
alert("모든 정보를 입력하세요.");
}
};
</script>
</html>
1.4학생 수정 뷰
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="com.hm.VO.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
section h1 {
text-align: center;
}
table {
margin: 0 auto;
text-align: center;
}
</style>
</head>
<body>
<%@ include file="header_nav.jsp"%>
<section>
<h1>학생 수정</h1>
<form id="mody" action="ModyAction" method="get">
<% StudVO svo = (StudVO)request.getAttribute("svo"); %>
<table border=1>
<tr>
<th>번호</th>
<td><input id="no" type="text" name="no" value = "${svo.no}"></td>
</tr>
<tr>
<th>이름</th>
<td><input id="name" type="text" name="name" value = "${svo.name}"></td>
</tr>
<tr>
<th>전화</th>
<td><input id="tel" type="text" name="tel" value = "${svo.tel}"></td>
</tr>
<tr>
<th>주소</th>
<td><input id="address" type="text" name="address" value = "${svo.address}"></td>
</tr>
<tr>
<th>가입일자</th>
<td><input id="joindate" type="text" name="joindate" value = "${svo.joinDate.substring(0,10)}"></td>
</tr>
<tr>
<th>학년</th>
<% if(svo.getGrade().equals("1")){
out.print("<td><input class='grade' type='radio' name='grade' value='1' checked> 1학년");
out.print("<input class='grade' type='radio' name='grade' value='2'> 2학년");
out.print("<input class='grade' type='radio' name='grade' value='3'> 3학년");
out.print("<input class='grade' type='radio' name='grade' value='4'> 4학년</td>");
}else if(svo.getGrade().equals("2")){
out.print("<td><input class='grade' type='radio' name='grade' value='1'> 1학년");
out.print("<input class='grade' type='radio' name='grade' value='2' checked> 2학년");
out.print("<input class='grade' type='radio' name='grade' value='3'> 3학년");
out.print("<input class='grade' type='radio' name='grade' value='4'> 4학년</td>");
}else if(svo.getGrade().equals("3")){
out.print("<td><input class='grade' type='radio' name='grade' value='1'> 1학년");
out.print("<input class='grade' type='radio' name='grade' value='2'> 2학년");
out.print("<input class='grade' type='radio' name='grade' value='3' checked> 3학년");
out.print("<input class='grade' type='radio' name='grade' value='4'> 4학년</td>");
}else if(svo.getGrade().equals("4")){
out.print("<td><input class='grade' type='radio' name='grade' value='1'> 1학년");
out.print("<input class='grade' type='radio' name='grade' value='2'> 2학년");
out.print("<input class='grade' type='radio' name='grade' value='3'> 3학년");
out.print("<input class='grade' type='radio' name='grade' value='4' checked> 4학년</td>");
}
%>
</tr>
<tr>
<td colspan="2"><input type="button" onclick="modySubmit()"
value="수정"></td>
</tr>
</table>
</form>
</section>
<%@ include file="footer.jsp"%>
</body>
<script type="text/javascript">
function modySubmit() {
let no = document.querySelector("#no").value;
let name = document.querySelector("#name").value;
let tel = document.querySelector("#tel").value;
let address = document.querySelector("#address").value;
let joindate = document.querySelector("#joindate").value;
let mody = document.querySelector("#mody");
if (no != "" && name != "" && tel != "" && address != ""
&& joindate != "") {
mody.submit();
} else {
alert("모든 정보를 입력하세요.");
}
};
</script>
</html>
1.5수강신청 현황 뷰
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="com.hm.VO.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
section h1 {
text-align: center;
}
table {
margin: 0 auto;
}
</style>
</head>
<body>
<%@ include file="header_nav.jsp"%>
<section>
<h1>학생별 신청내역</h1>
<table border=1>
<thead>
<tr>
<th>학생이름</th>
<th>클래스이름</th>
<th>교수명</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<% ArrayList<ClassVO> cList = (ArrayList)request.getAttribute("cList"); %>
<%
for(int i = 0; i< cList.size(); i++){
ClassVO cvo = cList.get(i);
out.print("<tr>");
out.print("<td>"+cvo.getName()+"</td>");
out.print("<td>"+cvo.getClass_name()+"</td>");
out.print("<td>"+cvo.getClass_pro()+"</td>");
out.print("<td>"+cvo.getIndate().substring(0,10)+"</td>");
out.print("</tr>");
}
%>
</tbody>
</table>
</section>
<%@ include file="footer.jsp"%>
</body>
</html>
2.컨트롤러
2.1인덱스
package com.hm.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Index
*/
@WebServlet("/Index")
public class Index extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Index() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("UTF-8");
String url = "index.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.2학생리스트
package com.hm.controller;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
import com.hm.VO.StudVO;
/**
* Servlet implementation class ViewList
*/
@WebServlet("/ViewList")
public class ViewList extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ViewList() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
ArrayList<StudVO> sList = sdao.selectAll();
String url = "viewList.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
request.setAttribute("sList", sList);
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.3학생등록 폼
package com.hm.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
/**
* Servlet implementation class AddForm
*/
@WebServlet("/AddForm")
public class AddForm extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AddForm() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("UTF-8");
int no = sdao.getNo();
String url = "addForm.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
request.setAttribute("no", no);
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.4학생등록 저장
package com.hm.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
import com.hm.VO.StudVO;
/**
* Servlet implementation class AddStud
*/
@WebServlet("/AddStud")
public class AddStud extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AddStud() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("UTF-8");
StudVO svo = new StudVO();
svo.setNo(Integer.parseInt(request.getParameter("no")));
svo.setName(request.getParameter("name"));
svo.setTel(request.getParameter("tel"));
svo.setAddress(request.getParameter("address"));
svo.setJoinDate(request.getParameter("joindate"));
svo.setGrade(request.getParameter("grade"));
sdao.insert(svo);
response.sendRedirect("Index");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.5학생 수정 폼
package com.hm.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
import com.hm.VO.StudVO;
/**
* Servlet implementation class ModyStud
*/
@WebServlet("/ModyStud")
public class ModyStud extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ModyStud() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
int no = Integer.parseInt(request.getParameter("no"));
StudVO svo = new StudVO();
svo = sdao.selectOne(no);
String url = "modyForm.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
request.setAttribute("svo", svo);
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.6학생 수정 저장
package com.hm.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
import com.hm.VO.StudVO;
/**
* Servlet implementation class ModyAction
*/
@WebServlet("/ModyAction")
public class ModyAction extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ModyAction() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("UTF-8");
StudVO svo = new StudVO();
svo.setNo(Integer.parseInt(request.getParameter("no")));
svo.setName(request.getParameter("name"));
svo.setTel(request.getParameter("tel"));
svo.setAddress(request.getParameter("address"));
svo.setJoinDate(request.getParameter("joindate"));
svo.setGrade(request.getParameter("grade"));
sdao.mody(svo);
response.sendRedirect("ViewList");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.7학생 삭제
package com.hm.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
/**
* Servlet implementation class DelStud
*/
@WebServlet("/DelStud")
public class DelStud extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DelStud() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
int no = Integer.parseInt(request.getParameter("no"));
System.out.println(no);
sdao.delete(no);
response.sendRedirect("ViewList");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.8수업현황 보기
package com.hm.controller;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hm.DAO.StudDAO;
import com.hm.VO.ClassVO;
/**
* Servlet implementation class ViewClass
*/
@WebServlet("/ViewClass")
public class ViewClass extends HttpServlet {
StudDAO sdao = new StudDAO();
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ViewClass() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
// response.getWriter().append("Served at: ").append(request.getContextPath());
ArrayList<ClassVO> cList = sdao.selectClass();
String url = "classView.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
request.setAttribute("cList", cList);
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
3.DAO
package com.hm.DAO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import com.hm.VO.ClassVO;
import com.hm.VO.StudVO;
public class StudDAO {
private Connection conn = null;
public StudDAO() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("로드성공");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("로드실패");
}
}
public boolean connect() {
try {
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@humanDB_high?TNS_ADMIN = C:/Users/human/Desktop/Wallet_humanDB", "admin",
"Jb21499549954.");
System.out.println("연결성공");
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("연결실패");
e.printStackTrace();
return false;
}
}
public void insert(StudVO svo) {
String sql = "insert into member_hm values(?,?,?,?,?,?)";
if(connect()) {
try {
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setInt(1, svo.getNo());
psmt.setString(2, svo.getName());
psmt.setString(3, svo.getTel());
psmt.setString(4, svo.getAddress());
psmt.setString(5, svo.getJoinDate());
psmt.setString(6, svo.getGrade());
psmt.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void mody(StudVO svo) {
String sql = "update member_hm set name=?,tel=?,address=?,joindate=?,grade=? where no=?";
if(connect()) {
try {
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setString(1, svo.getName());
psmt.setString(2, svo.getTel());
psmt.setString(3, svo.getAddress());
psmt.setString(4, svo.getJoinDate());
psmt.setString(5, svo.getGrade());
psmt.setInt(6, svo.getNo());
System.out.println(svo.getNo()+svo.getName()+svo.getTel()+svo.getJoinDate()+svo.getGrade());
psmt.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public ArrayList<StudVO> selectAll() {
ResultSet rs;
ArrayList<StudVO> sList = new ArrayList<>();
String sql = "select * from member_hm order by no";
if(connect()) {
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
StudVO svo = new StudVO();
svo.setNo(rs.getInt("no"));
svo.setName(rs.getString("name"));
svo.setTel(rs.getString("tel"));
svo.setAddress(rs.getString("address"));
svo.setJoinDate(rs.getString("joindate"));
svo.setGrade(rs.getString("grade"));
sList.add(svo);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return sList;
}
public StudVO selectOne(int no) {
ResultSet rs;
String sql = "select * from member_hm where no=?";
if(connect()) {
try {
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setInt(1, no);
rs= psmt.executeQuery();
if(rs.next()) {
StudVO svo = new StudVO();
svo.setNo(rs.getInt("no"));
svo.setName(rs.getString("name"));
svo.setTel(rs.getString("tel"));
svo.setAddress(rs.getString("address"));
svo.setJoinDate(rs.getString("joindate"));
svo.setGrade(rs.getString("grade"));
return svo;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
public int getNo() {
ResultSet rs;
String sql = "select outo_no.nextval as no from dual";
if(connect()) {
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if(rs.next()) {
int no = rs.getInt("no");
return no;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return -1;
}
public ArrayList<ClassVO> selectClass() {
// TODO Auto-generated method stub
ResultSet rs;
ArrayList<ClassVO> cList = new ArrayList<>();
String sql = "select a.name, b.class_name ,b.class_pro,c.indate from member_hm a, class_hm b, class_select c\r\n" +
"where a.no=c.no and b.class_no = c.class_no";
if(connect()) {
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
ClassVO cvo = new ClassVO();
cvo.setName(rs.getString("name"));
cvo.setClass_name(rs.getString("class_name"));
cvo.setClass_pro(rs.getString("class_pro"));
cvo.setIndate(rs.getString("indate"));
cList.add(cvo);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return cList;
}
public void delete(int no) {
String sql = "delete member_hm where no = ?";
if(connect()) {
try {
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setInt(1, no);
psmt.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// TODO Auto-generated method stub
}
}
4.VO
4.1학생VO
package com.hm.VO;
public class StudVO {
int no;
String name;
String tel;
String address;
String joinDate;
String grade;
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getJoinDate() {
return joinDate;
}
public void setJoinDate(String joinDate) {
this.joinDate = joinDate;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
4.2수업정보VO
package com.hm.VO;
public class ClassVO {
String name;
String class_name;
String class_pro;
String indate;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClass_name() {
return class_name;
}
public void setClass_name(String class_name) {
this.class_name = class_name;
}
public String getClass_pro() {
return class_pro;
}
public void setClass_pro(String class_pro) {
this.class_pro = class_pro;
}
public String getIndate() {
return indate;
}
public void setIndate(String indate) {
this.indate = indate;
}
}