728x90

0. DB

CREATE table grade(
	num NUMBER(3) primary key,
	java VARCHAR2(20),
	c VARCHAR(20),
	grade NUMBER(3)
);

INSERT INTO grade values(1,'A','B',3);
INSERT INTO grade values(2,'B','A',2);
INSERT INTO grade values(3,'C','C',4);
commit;

1. VO.java

src/dao/DAO.java

 


package vo;
public class VO {
	private int num;  
	private String java;
	private String c;
	private int grade;
	
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getJava() {
		return java;
	}
	public void setJava(String java) {
		this.java = java;
	}
	public String getC() {
		return c;
	}
	public void setC(String c) {
		this.c = c;
	}
	public int getGrade() {
		return grade;
	}
	public void setGrade(int grade) {
		this.grade = grade;
	}	
}

 

 

 


2. DAO(Data Access Object).java

src/dao/DAO.java

* db에 접속해서 데이터 추가, 삭제, 수정 등 작업을 하는 클래스

 

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import service.DBService;
import vo.VO;

public class DAO {	
		//DAO(Data Access Object) : 데이터 접근을 목표로 하는 클래스
		//single-ton pattern: 해당 클래스의 인스턴스가 1개만 생성됨	
		static DAO single = null;
		public static DAO getInstance() {
			//생성되지 않았으면 생성
			if (single == null)
				single = new DAO();
			//생성된 객체정보를 반환
			return single;
		}
		
		//grade테이블 조회
		public List<VO> selectList() {

			List<VO> list = new ArrayList<VO>();
			Connection conn = null;
			PreparedStatement pstmt = null;
			ResultSet rs = null;
			String sql = "SELECT * from grade";

			try {
				//1.Connection얻어온다
				conn = DBService.getInstance().getConnection();
				//2.명령처리객체정보를 얻어오기
				pstmt = conn.prepareStatement(sql);

				//3.결과행 처리객체 얻어오기
				rs = pstmt.executeQuery();

				while (rs.next()) {
					VO vo = new VO();
					//현재레코드값=>Vo저장
					vo.setNum( rs.getInt("num") );
					vo.setJava(rs.getString("java"));
					vo.setC(rs.getString("c"));
					vo.setGrade(rs.getInt("grade"));					
					//ArrayList추가
					list.add(vo);
				}
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			} finally {
				try {
					if (rs != null)
						rs.close();
					if (pstmt != null)
						pstmt.close();
					if (conn != null)
						conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			return list;
		}	
}

 

 

 

 


3. WEB

WebContent/WEB.jsp

 

<%@page import="vo.VO"%>
<%@page import="java.util.List"%>
<%@page import="dao.DAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	DAO dao = DAO.getInstance();
	// DAO가 single-ton pattern이기 때문에 getInstance()르 DAO 인스턴스 생성
	List<VO> list = dao.selectList();//DAO의 selectList()를 사용해 list를 만든다.
%>      
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Insert title here</title>
	</head>	
	<body>
		<table border='1' style='border-collapse: collapse;'>
			<tr>
				<th> 번호 </th>
				<th> 자바 </th>
				<th> C </th>
				<th> 성적 </th>				
			</tr>
			<%
				for(int i=0; i<list.size(); i++){
					VO vo = list.get(i);
			%>
			<tr>
				<td><%= vo.getNum() %> </td>
				<td><%= vo.getJava() %> </td>
				<td><%= vo.getC() %> </td>
				<td><%= vo.getGrade() %> </td>
			</tr>					
			<%}%>		
		</table>	
	</body>
</html>



 

728x90

'# WEB > Java&JSP' 카테고리의 다른 글

[JSP] Create_WEB에서 DB자원 삽입하기  (0) 2020.11.21
[JSP] JNDI_JSP와 OracleDB 연동  (0) 2020.11.20
[JSP] JDBC 템플릿 설정/사용법  (0) 2020.11.20
[JSP] 파라미터 전달  (0) 2020.11.19
[JSP] Eclipse 설정  (0) 2020.11.19

+ Recent posts