반응형
- 01_골프장
- _1100_골프장_db셋팅.txt
-- # 자료형의 종류
-- 문자 : char, varchar
-- 정수 : int
-- 실수 : float, double
-- # 옵션
-- primary key : 중복데이터 금지 + 데이터를 넣지 않으면 오류 발생
create database _11_golf;
use _11_golf;
CREATE TABLE tbl_teacher_202201(
teacher_code CHAR(3),
teacher_name VARCHAR(15),
class_name VARCHAR(20),
class_price INT(8),
teacher_regist_date VARCHAR(8),
PRIMARY KEY(teacher_code)
);
INSERT INTO tbl_teacher_202201 VALUES('100', '이초급', '초급반', 100000, '20220101');
INSERT INTO tbl_teacher_202201 VALUES('200', '김중급', '중급반', 200000, '20220102');
INSERT INTO tbl_teacher_202201 VALUES('300', '박고급', '고급반', 300000, '20220103');
INSERT INTO tbl_teacher_202201 VALUES('400', '정심화', '심화반', 400000, '20220104');
SELECT * FROM tbl_teacher_202201;
CREATE TABLE tbl_member_202201(
c_no CHAR(5),
c_name VARCHAR(15),
phone VARCHAR(11),
address VARCHAR(50),
grade VARCHAR(6),
PRIMARY KEY(c_no)
);
INSERT INTO tbl_member_202201 VALUES('10001', '홍길동', '01011112222', '서울시 강남구', '일반');
INSERT INTO tbl_member_202201 VALUES('10002', '장발장', '01022223333', '성남시 분당구', '일반');
INSERT INTO tbl_member_202201 VALUES('10003', '임꺽정', '01033334444', '대전시 유성구', '일반');
INSERT INTO tbl_member_202201 VALUES('20001', '성춘향', '01044445555', '부산시 서구', 'VIP');
INSERT INTO tbl_member_202201 VALUES('20002', '이몽룡', '01055556666', '대구시 북구', 'VIP');
SELECT * FROM tbl_member_202201;
CREATE TABLE tbl_class_202201(
regist_month VARCHAR(6),
c_no CHAR(5),
class_area VARCHAR(15),
tuition INT(8),
teacher_code CHAR(3),
PRIMARY KEY(regist_month, c_no)
);
INSERT INTO tbl_class_202201 VALUES('202203', '10001', '서울본원', 100000, 100);
INSERT INTO tbl_class_202201 VALUES('202203', '10002', '성남분원', 100000, 100);
INSERT INTO tbl_class_202201 VALUES('202203', '10003', '대전분원', 200000, 200);
INSERT INTO tbl_class_202201 VALUES('202203', '20001', '부산분원', 150000, 300);
INSERT INTO tbl_class_202201 VALUES('202203', '20002', '대구분원', 200000, 400);
SELECT * FROM tbl_class_202201;
- _1101_골프장_문제1.jsp
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ 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>
<%--
[문제]_1101_골프장_정답1.png 이미지와 같은 결과가 나오도록 처리하시오.
--%>
<%
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
int teatcherSize=0;
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT COUNT(*) FROM tbl_teacher_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
teatcherSize = rs.getInt(1);
}else{
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
String[][] teacherList = new String[teatcherSize][5];
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT * FROM tbl_teacher_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
while(rs.next()){
teacherList[i][0] = rs.getString(1);
teacherList[i][1] = rs.getString(2);
teacherList[i][2] = rs.getString(3);
teacherList[i][3] = rs.getInt(4) +"";
String date = rs.getString(5);
String year = date.substring(0,4);
String month = date.substring(4,6);
String day = date.substring(6,8);
teacherList[i][4] = year + "년" +month +"월"+day+"일";
i += 1;
}
if(i == 0){
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
%>
<div align="center">
<h3>강사조회</h3>
<table border="1">
<tr>
<td>강사코드</td>
<td>강사명</td>
<td>강의명</td>
<td>수강료</td>
<td>강사자격취득일</td>
</tr>
<%for(int i = 0; i<teacherList.length; i++){ %>
<tr>
<td><%=teacherList[i][0] %></td>
<td><%= teacherList[i][1] %></td>
<td><%= teacherList[i][2] %></td>
<td><%= teacherList[i][3] %></td>
<td><%= teacherList[i][4] %></td>
</tr>
<% }%>
</table>
</div>
</body>
</html>
- _1102_골프장_문제2.jsp
<%@page import="java.util.Arrays"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ 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>
<%--
[문제]_1102_골프장_정답2.png 이미지와 같은 결과가 나오도록 처리하시오.
--%>
<%
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
int memberSize = 0; //맴버 개수
//
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql ="SELECT COUNT(*) FROM tbl_member_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
memberSize = rs.getInt(1);
}else{
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//---------------------------------------------------------
String[][] memberList = new String[memberSize][5];
//맴버 배열 개수만큼 만듬
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT * FROM tbl_member_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
while(rs.next()){
memberList[i][0] = rs.getString(1);
memberList[i][1] = rs.getString(2);
memberList[i][2] = rs.getString(3);
memberList[i][3] = rs.getString(4);
memberList[i][4] = rs.getString(5);
i += 1;
}
if(i == 0){
System.out.println("검색데이터가 없습니다. ");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//---------------------------------------------------------
//선생님 개수 //몇명이 있는지 알아야 배열을 만들 수 있다.
//String[][] teacherList = new String[teatcherSize][5];
//teatcherSize 이거때문
int teatcherSize = 0;
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT COUNT(*) FROM tbl_teacher_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
teatcherSize = rs.getInt(1);
}else{
System.out.println("검색데이터가 없습니다. ");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//---------------------------------------------------------
//배열 만들기
String[][] teacherList = new String[teatcherSize][5];
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT * FROM tbl_teacher_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
while(rs.next()){
teacherList[i][0] = rs.getString(1);
teacherList[i][1] = rs.getString(2);
teacherList[i][2] = rs.getString(3);
teacherList[i][3] = rs.getInt(4)+"";
teacherList[i][4] = rs.getString(5);
i += 1;
}
if(i == 0){
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//---------------------------------------------------------
int classSize = 0; //강의
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT COUNT(*) FROM tbl_class_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
classSize = rs.getInt(1);
}else{
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//---------------------------------------------------------
String[][] classList = new String[classSize][5];
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT * FROM tbl_class_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
while(rs.next()){
classList[i][0] = rs.getString(1);
classList[i][1] = rs.getString(2);
classList[i][2] = rs.getString(3);
classList[i][3] = rs.getInt(4)+"";
classList[i][4] = rs.getString(5);
i += 1;
}
if( i == 0){
System.out.println("검색데이터가 없습니다. ");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//---------------------------------------------------------
for(int i=0; i<memberList.length; i++) {
System.out.println(Arrays.toString(memberList[i]));
}
System.out.println("-------------------------------------");
for(int i=0; i<classList.length; i++) {
System.out.println(Arrays.toString(classList[i]));
}
System.out.println("-------------------------------------");
for(int i=0; i<teacherList.length; i++) {
System.out.println(Arrays.toString(teacherList[i]));
}
System.out.println("-------------------------------------");
//---------------------------------------------------------
//화면 출력
String[][]viewList = new String[memberList.length][7];
for(int i = 0; i<memberList.length; i++){
for(int j = 0; j<classList.length; j++){
if(memberList[i][0].compareTo(classList[j][1]) == 0){
String date = classList[j][0];
String year = date.substring(0,4);
String month = date.substring(4,6);
viewList[i][0] = year +"년" +month +"월";
viewList[i][4] = memberList[i][3];
viewList[i][5] = classList[i][3];
for(int k = 0; k<teacherList.length; k++){
if(classList[j][4].compareTo(teacherList[k][0]) == 0){
viewList[i][3] = teacherList[k][2];
}
}
}
}
viewList[i][1] = memberList[i][0];
viewList[i][2] = memberList[i][1];
viewList[i][6] = memberList[i][4];
Arrays.toString(viewList[i]);
}
%>
<div align="center">
<h3>회원정보조회</h3>
<table border="1">
<tr>
<td>수강월</td>
<td>회원번호</td>
<td>회원명</td>
<td>강의명</td>
<td>강의장소</td>
<td>수강료</td>
<td>등급</td>
</tr>
<% for(int i=0; i<viewList.length; i++) { %>
<tr>
<td><%= viewList[i][0] %></td>
<td><%= viewList[i][1] %></td>
<td><%= viewList[i][2] %></td>
<td><%= viewList[i][3] %></td>
<td><%= viewList[i][4] %></td>
<td><%= viewList[i][5] %></td>
<td><%= viewList[i][6] %></td>
</tr>
<% } %>
</table>
</div>
</body>
</html>
- _1103_골프장_문제3.jsp
<%@page import="java.util.Arrays"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ 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>
<%--
[문제]_1103_골프장_정답3.png 이미지와 같은 결과가 나오도록 처리하시오.
--%>
<%
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
int teatcherSize = 0;
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT COUNT(*) FROM tbl_teacher_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
teatcherSize = rs.getInt(1);
}else{
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//-----------------------------------------------
String[][] teacherList = new String[teatcherSize][5];
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT * FROM tbl_teacher_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
while(rs.next()){
teacherList[i][0] = rs.getString(1);
teacherList[i][1] = rs.getString(2);
teacherList[i][2] = rs.getString(3);
teacherList[i][3] = rs.getInt(4) + "";
teacherList[i][4] = rs.getString(5);
i += 1;
}
if(i == 0){
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//------------------------------------------
int classSize = 0;
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql = "SELECT COUNT(*) FROM tbl_class_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next()){
classSize = rs.getInt(1);
}else{
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
//-----------------------------------------
String[][] classList = new String[classSize][5];
try{
String jdbcUrl = "jdbc:mysql://localhost:3306/_11_golf?serverTimezone=UTC&useSSL=false";
String dbId = "root";
String dbPw = "root";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUrl, dbId, dbPw);
String sql ="SELECT * FROM tbl_class_202201";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
while(rs.next()){
classList[i][0] = rs.getString(1);
classList[i][1] = rs.getString(2);
classList[i][2] = rs.getString(3);
classList[i][3] = rs.getInt(4) + "";
classList[i][4] = rs.getString(5);
i += 1;
}
if( i == 0){
System.out.println("검색데이터가 없습니다.");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn != null){
conn.close();
}
if(pstmt != null){
pstmt.close();
}
if(rs != null){
rs.close();
}
}
for(int i=0; i<teacherList.length; i++) {
System.out.println(Arrays.toString(teacherList[i]));
}
System.out.println("-------------------------------------");
for(int i=0; i<classList.length; i++) {
System.out.println(Arrays.toString(classList[i]));
}
System.out.println("-------------------------------------");
//--------------------------------------------------
String[][] viewList = new String[teacherList.length][4];
for(int i = 0; i<teacherList.length; i++){
int total = 0;
for(int j = 0; j<classList.length; j++){
if(teacherList[i][0].compareTo(classList[j][4]) == 0){
total += Integer.parseInt(classList[j][3]);
}
}
viewList[i][3] = String.valueOf(total);
viewList[i][0] = teacherList[i][0];
viewList[i][2] = teacherList[i][2];
viewList[i][1] = teacherList[i][1];
System.out.println(Arrays.toString(viewList[i]));
}
%>
<div align="center">
<h3>강사매출현황</h3>
<table border="1">
<tr>
<td>강사코드</td>
<td>강의명</td>
<td>강사명</td>
<td>총매출</td>
</tr>
<% for(int i=0; i<viewList.length; i++) { %>
<tr>
<td><%= viewList[i][0] %></td>
<td><%= viewList[i][1] %></td>
<td><%= viewList[i][2] %></td>
<td><%= viewList[i][3] %></td>
</tr>
<% } %>
</table>
</div>
</body>
</html>반응형
'코딩 > 4-JSP & SERVLET' 카테고리의 다른 글
| D02_session_async (0) | 2025.07.07 |
|---|---|
| C22_dao_board_re (0) | 2025.07.03 |
| C02_session_cart (0) | 2025.06.30 |
| C01_session_basic (3) | 2025.06.30 |
| B23_servlet_board-TEST1 (0) | 2025.05.29 |