Data Scientist 옌

매일 발전하는 IT문제해결사

국비지원교육 (22.01-22.07)/강의노트

22-03-17(목) 034일차 [Java] RFP, 회원 ISUD 구현하기

옌炎 2022. 5. 11. 11:29
728x90

수업내용


1교시 (09:30-10:20)

  • RFP
    개발할 거리 : 대상 : 다른 사람에게 만들어 달라고 하는 행위

    RFP : 제안 요청서
        나 블로그 하나만 만들어 줄래 <-- RFP : 제안 요청서를 구두로 전달
        알았어요 <-- RFP 구두로 승낙할 한 것
        개발자와 요청자가 컨트렉트한 것이다. : 계약

    조달청 : 나라장터 :
    공공 분야에서 공개 입찰 요청 사이트 : RFP

    IT 회사에서 RFP 를 보고 입찰 서류를 만들어 : 제안서

    제안서 뽑히면 일정한 절차를 거쳐서

    제안 요청서 - 제안서 : 우선 협상 대상자 : 계약을 한다.
    제안 요청서 - 제안서 + 고객사 + 개발사 <== 요구사항 정의서

    개발에 대한 이야기
    분석 - 설계 - 개발 - 테스트 - ??

    분석
        요구사항 정의서
        요건 정의서
    설계
        테이블 설계서
        클래스 설계서
        화면 설계서
    개발

2교시 (10:30-11:20)

  • OracleConnProperty
package a.b.c.t6.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class OracleConnProperty {
	
	public static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
	public static final String JDBC_URL = "jdbc:oracle:thin:@localhost:1521:orclKSY00";
	public static final String JDBC_USER = "scott";
	public static final String JDBC_PASSWORD = "tiger";
	
	public static Connection getConnection() {
		
		System.out.println("[METHOD] :: OracleConnProperty :: getConnction()");
		Connection conn = null;
		
		try {
			
			Class.forName(JDBC_DRIVER);
			conn = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
			System.out.println("[METHOD] :: OracleConnProperty :: getConnection() :: 데이터베이스 연결 성공");
			
		} catch (Exception e) {
			System.out.println("데이터베이스 연결에 문제가 있어요 >>> : " + e.getMessage());
		}
		
		return conn;
	}
	
	public static void conClose(Connection conn, PreparedStatement pstmt, ResultSet rsRs) {
		
		System.out.println("[METHOD] :: OracleConnProperty :: conClose(conn, pstmt, rsRs)");
		try {
			
			if (rsRs != null) try { rsRs.close(); rsRs = null; } catch (Exception ex) {}
			if (pstmt != null) try { pstmt.close(); pstmt = null; } catch (Exception ex) {}
			if (conn != null) try { conn.close(); conn = null; } catch (Exception ex) {}
			System.out.println("[METHOD] :: OracleConnProperty :: conClose :: 데이터베이스 연결 종료");
			
		} catch (Exception e2) {}
	}
	
	public static void conClose(Connection conn, PreparedStatement pstmt) {
		
		System.out.println("[METHOD] :: OracleConnProperty :: conClose(conn, pstmt)");
		try {
			
			if (pstmt != null) try { pstmt.close(); pstmt = null; } catch (Exception ex) {}
			if (conn != null) try { conn.close(); conn = null; } catch (Exception ex) {}
			System.out.println("[METHOD] :: OracleConnProperty :: conClose :: 데이터베이스 연결 종료");
			
		} catch (Exception e2) {}
	}
}
  • ChabunQuery
package a.b.c.t6.common;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public abstract class ChabunQuery {
	
	public static final short CHABUN_QUERY_TEST = 0;
	public static final short CHABUN_QUERY_T6 = 1;
	
	public static String Chabun_query[] = {
			"SELECT NVL(MAX(SUBSTR(A.T1, -4)), 0) + 1 COMM_NUM FROM TEST_T6 A"
	};
	
	public static String getT6ChabunQuery() {
		
		System.out.println("[METHOD] :: ChabunQuery :: getT6ChabunQuery()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rsRs = null;
		String commNum = "";
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = ChabunQuery.Chabun_query[CHABUN_QUERY_TEST];
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: ChabunQuery :: getT6ChabunQuery() :: [QUERY] \n" + sql);
			
			rsRs = pstmt.executeQuery();
			
			if (rsRs != null) {
				
				while (rsRs.next()) {
					commNum = rsRs.getString("COMM_NUM");
				}
				
			} else {
				System.out.println("[ERROR] :: ChabunQuery :: 채번 검색 결과 없음");
			}
			
		} catch (Exception e) {
			System.out.println("[ERROR] :: ChabunQuery :: 채번 검색 중 에러 >>> : " + e.getMessage());
		}
		
		return commNum;
	}
}
  • ChabunUtil
package a.b.c.t6.common;

public abstract class ChabunUtil {
	
	public static final String BIZ_GUBUN_TEST = "T6";
	
	public static String numPad(String t, String c) {
		
		System.out.println("[METHOD] :: ChabunUtil :: numPad(" + t + ", " + c + ")");
		
		for (int i = c.length(); i < 4; i++) {
			c = "0" + c;
		}
		
		String ymd = DateFormatUtil.ymdFormats(t);
		
		return ymd.concat(c);
	}
	
	public static String getT6Chabun(String type) {
		
		System.out.println("[METHOD] :: ChabunUtil :: getT6Chabun()");
		
		String commNum = ChabunQuery.getT6ChabunQuery();
		System.out.println("[METHOD] :: ChabunUtil :: getT6ChabunQuery() :: [commNum] >>> : " + commNum);
		
		return BIZ_GUBUN_TEST.concat(ChabunUtil.numPad(type, commNum));
	}
}

3교시 (11:30-12:20)

  • DateUtil
package a.b.c.t6.common;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
	
	public static String yyyymmdd() {

		System.out.println("[METHOD] :: DateUtil :: yyyymmdd()");
		
		return new SimpleDateFormat("yyyyMMdd").format(new Date()).toString();
	}
	
	public static String cTime() {
		
		System.out.println("[METHOD] :: DateUtil :: cTime()");
		long time = System.currentTimeMillis();
		
		return new SimpleDateFormat("yyyy.MM.dd hh:mm:ss").format(new Date(time)).toString();
	}
	
	public static boolean fromtoDate(String fromdate, String todate) {
		
		System.out.println("[METHOD] :: DateUtil :: fromtoDate()");
		
		boolean bool = false;
		
		try {
			SimpleDateFormat sDate = new SimpleDateFormat("yyyy-mm-dd");
			Date fromDate = sDate.parse(fromdate);
			Date toDate = sDate.parse(todate);
			long f = fromDate.getTime();
			long t = toDate.getTime();
			
			bool  = f > t;
			
			if (bool) {
				System.out.println("[ERROR] :: DateUtil :: fromtoDate() :: 시작날짜가 마지막 날짜보다 클 수 없습니다.");
				System.out.println("[ERROR] :: DateUtil :: fromtoDate() :: 프로그램을 종료합니다. 다시 실행해주세요.");
			}
			
		} catch (Exception e) {
			System.out.println("[ERROR] :: DateUtil :: fromtoDate() >>> : " + e.getMessage());
		}
		
		return bool;
	}
}
  • DateFormatUtil
package a.b.c.t6.common;

import java.text.SimpleDateFormat;
import java.util.Date;

public abstract class DateFormatUtil {
	
	public static String ymdFormat() {
		
		System.out.println("[METHOD] :: DateFormatUtil :: ymdFormat()");
		
		return new SimpleDateFormat("yyyyMMdd").format(new Date());
	}
	
	public static String ymFormat() {
		
		System.out.println("[METHOD] :: DateFormatUtil :: ymFormat()");
		
		return new SimpleDateFormat("yyyyMM").format(new Date());
	}
	
	public static String yFormat() {
		
		System.out.println("[METHOD] :: DateFormatUtil :: yFormat()");
		
		return new SimpleDateFormat("yyyy").format(new Date());
	}
	
	public static String ymdFormats(String ymdFlag) {
		
		System.out.println("[METHOD] :: DateFormatUtil :: ymdFormats(" + ymdFlag + ")");
		
		String y = "";
		
		if ("D".equals(ymdFlag.toUpperCase())) {
			y = DateFormatUtil.ymdFormat();
		}
		if ("M".equals(ymdFlag.toUpperCase())) {
			y = DateFormatUtil.ymFormat();
		}
		if ("y".equals(ymdFlag.toUpperCase())) {
			y = DateFormatUtil.yFormat();
		}
		if ("N".equals(ymdFlag.toUpperCase())) {
			y = "";
		}
		
		return y;
	}
}

4교시 (12:30-13:20)

  • T6VO
package a.b.c.t6.vo;

public class T6VO {
	
	private String t1;
	private String t2;
	private String t3;
	private String t4;
	private String t5;
	private String t6;
	
	private String fromdate;
	private String todate;
	
	// 생성자
	public T6VO() {

	}

	public T6VO(String t1, String t2, String t3, String t4, String t5, String t6) {
		super();
		this.t1 = t1;
		this.t2 = t2;
		this.t3 = t3;
		this.t4 = t4;
		this.t5 = t5;
		this.t6 = t6;
	}
	
	// getters
	public String getT1() {
		return t1;
	}
	public String getT2() {
		return t2;
	}
	public String getT3() {
		return t3;
	}
	public String getT4() {
		return t4;
	}
	public String getT5() {
		return t5;
	}
	public String getT6() {
		return t6;
	}
	public String getFromdate() {
		return fromdate;
	}
	public String getTodate() {
		return todate;
	}
	
	// setters
	public void setT1(String t1) {
		this.t1 = t1;
	}
	public void setT2(String t2) {
		this.t2 = t2;
	}
	public void setT3(String t3) {
		this.t3 = t3;
	}
	public void setT4(String t4) {
		this.t4 = t4;
	}
	public void setT5(String t5) {
		this.t5 = t5;
	}
	public void setT6(String t6) {
		this.t6 = t6;
	}
	public void setFromdate(String fromdate) {
		this.fromdate = fromdate;
	}
	public void setTodate(String todate) {
		this.todate = todate;
	}
}
  • T6QueryMap
package a.b.c.t6.sql;

public class T6QueryMap {
	
	// 전체 검색
	public static String getT6SelectAll() {
		
		System.out.println("[METHOD] :: T6QueryMap :: getT6SelectAll()");
		
		StringBuffer sb = new StringBuffer();
		sb.append(" SELECT 					\n");
		sb.append("          A.T1 AS T1 	\n");
		sb.append("         ,A.T2 AS T2 	\n");
		sb.append("         ,A.T3 AS T3 	\n");
		sb.append("         ,A.T4 AS T4 	\n");
		sb.append("         ,TO_CHAR(A.T5, 'YYYY-MM-DD') AS T5 	\n");
		sb.append("         ,TO_CHAR(A.T6, 'YYYY-MM-DD') AS T6 	\n");
		sb.append(" FROM    TEST_T6 A 		\n");
		sb.append(" ORDER BY 1 DESC			\n");
		
		return sb.toString();
	}
	
	// 이름 검색
	public static String getT6SelectName() {
		
		System.out.println("[METHOD] :: T6QueryMap :: getT6SelectName()");
		
		StringBuffer sb = new StringBuffer();
		sb.append(" SELECT 					\n");
		sb.append("          A.T1 AS T1 	\n");
		sb.append("         ,A.T2 AS T2 	\n");
		sb.append("         ,A.T3 AS T3 	\n");
		sb.append("         ,A.T4 AS T4 	\n");
		sb.append("         ,TO_CHAR(A.T5, 'YYYY-MM-DD') AS T5 	\n");
		sb.append("         ,TO_CHAR(A.T6, 'YYYY-MM-DD') AS T6 	\n");
		sb.append(" FROM    TEST_T6 A 		\n");
		sb.append(" WHERE   A.T4 = 'Y'				\n");
		sb.append(" AND		A.T2 = ?		\n"); // place holder 1
		sb.append(" ORDER BY 1 DESC			\n");
		
		return sb.toString();
	}
	
	// 날짜 검색
	public static String getT6SelectDate() {
		
		System.out.println("[METHOD] :: T6QueryMap :: getT6SelectDate()");
		
		StringBuffer sb = new StringBuffer();
		sb.append(" SELECT 					\n");
		sb.append(" 	    A.T1 AS T1 		\n");
		sb.append(" 	   ,A.T2 AS T2 		\n");
		sb.append(" 	   ,A.T3 AS T3		\n");
		sb.append(" 	   ,A.T4 AS T4 		\n");
		sb.append(" 	   ,TO_CHAR(A.T5, 'YYYY-MM-DD') AS T5 \n");
		sb.append(" 	   ,TO_CHAR(A.T6, 'YYYY-MM-DD') AS T6 \n");
		sb.append(" FROM    TEST_T6 A 		\n");
		sb.append(" WHERE   A.T4 = 'Y'		\n");
		sb.append(" AND 	TO_CHAR(TO_DATE(A.T5), 'YYYY-MM-DD') >= ? \n"); // placeholder 1
		sb.append(" AND 	TO_CHAR(TO_DATE(A.T5), 'YYYY-MM-DD') <= ? \n"); // placeholder 2
		sb.append(" ORDER BY 1 DESC			 \n");
		
		return sb.toString();
	}
	

	// 입력
	public static String getT6Insert() {
		
		System.out.println("[METHOD] :: T6QueryMap :: getT6Insert()");
		
		StringBuffer sb = new StringBuffer();
		sb.append(" INSERT INTO TEST_T6 (T1, T2, T3, T4, T5, T6)	\n");
		sb.append("         VALUES (?, ?, ?, 'Y', SYSDATE, NULL)	\n"); // place holder 1, 2, 3
		
		return sb.toString();
	}
	
	// 수정
	public static String getT6Update() {
		
		System.out.println("[METHOD] :: T6QueryMap :: getT6Update()");
		
		StringBuffer sb = new StringBuffer();
		sb.append(" UPDATE TEST_T6 SET T2 = ?, T3 = ? T6 = SYSDATE	\n"); // place holder 1, 2
		sb.append("         WHERE T4 = 'Y' AND T1 = ?	\n"); // place holder 3
		
		return sb.toString();
	}
	
	// 삭제
	public static String getT6Delete() {
		
		System.out.println("[METHOD] :: T6QueryMap :: getT6Delete()");
		
		StringBuffer sb = new StringBuffer();
		sb.append(" UPDATE TEST_T6 SET T4 = 'N', T6 = SYSDATE	\n");
		sb.append("         WHERE T4 = 'Y' AND T1 = ?	\n"); // place holder 1
		
		return sb.toString();
	}
}

5교시 (14:30-15:20)

  • T6DAO
package a.b.c.t6.dao;

import java.util.ArrayList;

import a.b.c.t6.vo.T6VO;

public interface T6DAO {
	
	// 전체 검색
	public ArrayList<T6VO> t6SelectAll();
	// 이름 검색
	public ArrayList<T6VO> t6SelectName(T6VO tvo);
	// 날짜 검색
	public ArrayList<T6VO> t6SelectDate(T6VO tvo);

	// 입력
	public boolean t6Insert(T6VO tvo);
	// 수정
	public boolean t6Update(T6VO tvo);
	// 삭제
	public boolean t6Delete(T6VO tvo);
}
  • T6DAOImpl
package a.b.c.t6.dao;

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

import a.b.c.t6.common.OracleConnProperty;
import a.b.c.t6.sql.T6QueryMap;

import a.b.c.t6.vo.T6VO;

public class T6DAOImpl implements T6DAO {

	// 전체 검색
	@Override
	public ArrayList<T6VO> t6SelectAll() {
		// TODO Auto-generated method stub

		System.out.println("[METHOD] :: T6DAOImpl :: t6SelectAll()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rsRs = null;
		ArrayList<T6VO> aList = null;
		T6VO _tvo = null;
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = T6QueryMap.getT6SelectAll();
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: T6DAOImpl :: t6SelectAll() :: [QUERY] \n" + sql);
			rsRs = pstmt.executeQuery();
			
			if (rsRs != null) {
				
				aList = new ArrayList<T6VO>();
				
				while (rsRs.next()) {
					_tvo = new T6VO();
					
					_tvo.setT1(rsRs.getString("T1"));
					_tvo.setT2(rsRs.getString("T2"));
					_tvo.setT3(rsRs.getString("T3"));
					_tvo.setT4(rsRs.getString("T4"));
					_tvo.setT5(rsRs.getString("T5"));
					_tvo.setT6(rsRs.getString("T6"));
					
					aList.add(_tvo);
				}
			} else {
				System.out.println("[METHOD] :: T6DAOImpl :: t6SelectName() :: 전체 검색 결과 없음");
			}
			
		} catch (Exception e) {
			System.out.println("[METHOD] :: T6DAOImpl :: t6SelectName() :: 전체 검색 중 에러 >>> : " + e.getMessage());
		} finally {
			OracleConnProperty.conClose(conn, pstmt, rsRs);
		}
		return aList;
	}

	// 이름 검색
	@Override
	public ArrayList<T6VO> t6SelectName(T6VO tvo) {
		// TODO Auto-generated method stub
		
		System.out.println("[METHOD] :: T6DAOImpl :: t6SelectName()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rsRs = null;
		ArrayList<T6VO> aList = null;
		T6VO _tvo = null;
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = T6QueryMap.getT6SelectName();
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: T6DAOImpl :: t6SelectName() :: [QUERY] \n" + sql);

			pstmt.clearParameters();
			pstmt.setString(1, tvo.getT2());
			
			rsRs = pstmt.executeQuery();
			
			if (rsRs != null) {
				
				aList = new ArrayList<T6VO>();
				
				while (rsRs.next()) {
					_tvo = new T6VO();
					
					_tvo.setT1(rsRs.getString("T1"));
					_tvo.setT2(rsRs.getString("T2"));
					_tvo.setT3(rsRs.getString("T3"));
					_tvo.setT4(rsRs.getString("T4"));
					_tvo.setT5(rsRs.getString("T5"));
					_tvo.setT6(rsRs.getString("T6"));
					
					aList.add(_tvo);
				}
			} else {
				System.out.println("[METHOD] :: T6DAOImpl :: t6SelectName() :: 이름 검색 결과 없음");
			}
			
		} catch (Exception e) {
			System.out.println("[METHOD] :: T6DAOImpl :: t6SelectName() :: 이름 검색 중 에러 >>> : " + e.getMessage());
		} finally {
			OracleConnProperty.conClose(conn, pstmt, rsRs);
		}
		return aList;
	}
	
	// 날짜 검색
	@Override
	public ArrayList<T6VO> t6SelectDate(T6VO tvo) {
		// TODO Auto-generated method stub
		
		System.out.println("[METHOD] :: T6DAOImpl :: t6SelectDate()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rsRs = null;
		ArrayList<T6VO> aList = null;
		T6VO _tvo = null;
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = T6QueryMap.getT6SelectDate();
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: T6DAOImpl :: t6SelectDate() :: [QUERY] \n" + sql);

			pstmt.clearParameters();
			pstmt.setString(1, tvo.getFromdate());
			pstmt.setString(2, tvo.getTodate());
			
			rsRs = pstmt.executeQuery();
			
			if (rsRs != null) {
				
				aList = new ArrayList<T6VO>();
				
				while (rsRs.next()) {
					_tvo = new T6VO();
					
					_tvo.setT1(rsRs.getString("T1"));
					_tvo.setT2(rsRs.getString("T2"));
					_tvo.setT3(rsRs.getString("T3"));
					_tvo.setT4(rsRs.getString("T4"));
					_tvo.setT5(rsRs.getString("T5"));
					_tvo.setT6(rsRs.getString("T6"));
					
					aList.add(_tvo);
				}
			} else {
				System.out.println("[METHOD] :: T6DAOImpl :: t6SelectDate() :: 날짜 검색 결과 없음");
			}
			
		} catch (Exception e) {
			System.out.println("[METHOD] :: T6DAOImpl :: t6SelectDate() :: 날짜 검색 중 에러 >>> : " + e.getMessage());
		} finally {
			OracleConnProperty.conClose(conn, pstmt, rsRs);
		}
		return aList;
	}

	
	// 입력
	@Override
	public boolean t6Insert(T6VO tvo) {
		// TODO Auto-generated method stub
		
		System.out.println("[METHOD] :: T6DAOImpl :: t6Insert()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		int nCnt = 0;
		boolean bool = false;
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = T6QueryMap.getT6Insert();
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: T6DAOImpl :: t6Insert() :: [QUERY] \n" + sql);
			
			pstmt.clearParameters();
			pstmt.setString(1, tvo.getT1()); // 채번
			pstmt.setString(2, tvo.getT2()); // 이름
			pstmt.setString(3, tvo.getT3()); // 나이
			
			nCnt = pstmt.executeUpdate();
			if (!conn.getAutoCommit()) conn.commit();
			
			if (nCnt > 0) {
				System.out.println("[METHOD] :: T6DAOImpl :: t6Insert() :: " + nCnt + " 건 입력 성공");
				bool = true;
			} else {
				System.out.println("[METHOD] :: T6DAOImpl :: t6Insert() :: 입력 실패");
			}
		} catch (Exception e) {
			System.out.println("[METHOD] :: T6DAOImpl :: t6Insert() :: 입력 중 에러 >>> : " + e.getMessage());
		} finally {
			OracleConnProperty.conClose(conn, pstmt);
		}
		return bool;
	}

	// 수정
	@Override
	public boolean t6Update(T6VO tvo) {
		// TODO Auto-generated method stub
		
		System.out.println("[METHOD] :: T6DAOImpl :: t6Update()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		int nCnt = 0;
		boolean bool = false;
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = T6QueryMap.getT6Update();
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: T6DAOImpl :: t6Update() :: [QUERY] \n" + sql);
			
			pstmt.clearParameters();
			pstmt.setString(1, tvo.getT2()); // 이름
			pstmt.setString(2, tvo.getT3()); // 나이
			pstmt.setString(3, tvo.getT1()); // 회원번호
			
			nCnt = pstmt.executeUpdate();
			if (!conn.getAutoCommit()) conn.commit();
			
			if (nCnt > 0) {
				System.out.println("[METHOD] :: T6DAOImpl :: t6Update() :: " + nCnt + " 건 수정 성공");
				bool = true;
			} else {
				System.out.println("[METHOD] :: T6DAOImpl :: t6Update() :: 수정 실패");
			}
		} catch (Exception e) {
			System.out.println("[METHOD] :: T6DAOImpl :: t6Update() :: 수정 중 에러 >>> : " + e.getMessage());
		} finally {
			OracleConnProperty.conClose(conn, pstmt);
		}
		return bool;
	}

	// 삭제
	@Override
	public boolean t6Delete(T6VO tvo) {
		// TODO Auto-generated method stub
		
		System.out.println("[METHOD] :: T6DAOImpl :: t6Delete()");
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		int nCnt = 0;
		boolean bool = false;
		
		try {
			
			conn = OracleConnProperty.getConnection();
			String sql = T6QueryMap.getT6Delete();
			pstmt = conn.prepareStatement(sql);
			System.out.println("[METHOD] :: T6DAOImpl :: t6Delete() :: [QUERY] \n" + sql);
			
			pstmt.clearParameters();
			pstmt.setString(1, tvo.getT1()); // 회원 번호
			
			nCnt = pstmt.executeUpdate();
			if (!conn.getAutoCommit()) conn.commit();
			
			if (nCnt > 0) {
				System.out.println("[METHOD] :: T6DAOImpl :: t6Delete() :: " + nCnt + " 건 삭제 성공");
				bool = true;
			} else {
				System.out.println("[METHOD] :: T6DAOImpl :: t6Delete() :: 삭제 실패");
			}
		} catch (Exception e) {
			System.out.println("[METHOD] :: T6DAOImpl :: t6Delete() :: 삭제 중 에러 >>> : " + e.getMessage());
		} finally {
			OracleConnProperty.conClose(conn, pstmt);
		}
		return bool;
	}

}

6교시 (15:30-16:20)

  • T6Service
package a.b.c.t6.service;

import java.util.ArrayList;

import a.b.c.t6.vo.T6VO;

public interface T6Service {

	// 전체 검색
	public ArrayList<T6VO> t6SelectAll();
	// 이름 검색
	public ArrayList<T6VO> t6SelectName(T6VO tvo);
	// 날짜 검색
	public ArrayList<T6VO> t6SelectDate(T6VO tvo);

	// 입력
	public boolean t6Insert(T6VO tvo);
	// 수정
	public boolean t6Update(T6VO tvo);
	// 삭제
	public boolean t6Delete(T6VO tvo);
}
  • T6ServiceImpl
package a.b.c.t6.service;

import java.util.ArrayList;

import a.b.c.t6.vo.T6VO;

import a.b.c.t6.dao.T6DAO;
import a.b.c.t6.dao.T6DAOImpl;

public class T6ServiceImpl implements T6Service {

	@Override
	public ArrayList<T6VO> t6SelectAll() {
		// TODO Auto-generated method stub
		
		T6DAO tdao = new T6DAOImpl();
		return tdao.t6SelectAll();
	}

	@Override
	public ArrayList<T6VO> t6SelectName(T6VO tvo) {
		// TODO Auto-generated method stub
		
		T6DAO tdao = new T6DAOImpl();
		ArrayList<T6VO> aList = tdao.t6SelectName(tvo);
		
		return aList;
	}

	@Override
	public ArrayList<T6VO> t6SelectDate(T6VO tvo) {
		// TODO Auto-generated method stub
		
		T6DAO tdao = new T6DAOImpl();
		ArrayList<T6VO> aList = tdao.t6SelectDate(tvo);
		
		return aList;
	}

	@Override
	public boolean t6Insert(T6VO tvo) {
		// TODO Auto-generated method stub
		
		T6DAO tdao = new T6DAOImpl();
		boolean bool = tdao.t6Insert(tvo);
		
		return bool;
	}

	@Override
	public boolean t6Update(T6VO tvo) {
		// TODO Auto-generated method stub

		T6DAO tdao = new T6DAOImpl();
		boolean bool = tdao.t6Update(tvo);
		
		return bool;
	}

	@Override
	public boolean t6Delete(T6VO tvo) {
		// TODO Auto-generated method stub

		T6DAO tdao = new T6DAOImpl();
		boolean bool = tdao.t6Delete(tvo);
		
		return bool;
	}
}

7교시 (16:30-17:20)

  • T6Scr
package a.b.c.t6.scr;

import java.util.ArrayList;
import java.util.Scanner;

import a.b.c.t6.service.T6Service;
import a.b.c.t6.service.T6ServiceImpl;
import a.b.c.t6.vo.T6VO;
import a.b.c.t6.common.ChabunUtil;
import a.b.c.t6.common.DateUtil;

public class T6Scr {

	public ArrayList<T6VO> t6SelectAll() {
		
		System.out.println("[METHOD] :: T6Scr :: t6SelectAll :: 전체 검색");
		
		T6Service ts = new T6ServiceImpl();
		ArrayList<T6VO> aList = ts.t6SelectAll();
		
		return aList;
	}
	
	public ArrayList<T6VO> t6SelectName(String t2) {
		
		System.out.println("[METHOD] :: T6Scr :: t6SelectName :: 이름 검색");
		
		T6Service ts = new T6ServiceImpl();
		T6VO _tvo = null;
		_tvo = new T6VO();
		_tvo.setT2(t2);
		
		ArrayList<T6VO> aList = ts.t6SelectName(_tvo);
		
		return aList;
	}
	
	public ArrayList<T6VO> t6SelectDate(String fromdate, String todate) {
		
		System.out.println("[METHOD] :: T6Scr :: t6SelectDate :: 날짜 검색");
		
		T6Service ts = new T6ServiceImpl();
		T6VO _tvo = null;
		_tvo = new T6VO();
		_tvo.setFromdate(fromdate);
		_tvo.setTodate(todate);
		
		ArrayList<T6VO> aList = ts.t6SelectDate(_tvo);
		
		return aList;
	}

	
	public boolean t6Insert(String t1, String t2, String t3) {
		
		System.out.println("[METHOD] :: T6Scr :: t6Insert :: 입력");
		
		T6Service ts = new T6ServiceImpl();
		T6VO _tvo = null;
		_tvo = new T6VO();
		_tvo.setT1(t1);
		_tvo.setT2(t2);
		_tvo.setT3(t3);
		
		boolean bool = ts.t6Insert(_tvo);
		
		return bool;
	}
	
	public boolean t6Update(String t2, String t3, String t1) {
		System.out.println("[METHOD] :: T6Scr :: t6Update :: 수정");
		
		T6Service ts = new T6ServiceImpl();
		T6VO _tvo = null;
		_tvo = new T6VO();
		_tvo.setT2(t2);
		_tvo.setT3(t3);
		_tvo.setT1(t1);
		
		boolean bool = ts.t6Update(_tvo);
		
		return bool;
	}
	
	public boolean t6Delete(String t1) {
		System.out.println("[METHOD] :: T6Scr :: t6Delete :: 삭제");
		
		T6Service ts = new T6ServiceImpl();
		T6VO _tvo = null;
		_tvo = new T6VO();
		_tvo.setT1(t1);
		
		boolean bool = ts.t6Delete(_tvo);
		
		return bool;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		System.out.println("[METHOD] :: T6Scr :: main()");
		
		Scanner sc = null;
		
		try {
			System.out.println("[검색 방법]		\n"
					+ "1. 전체 검색		\n"
					+ "2. 이름 검색		\n"
					+ "3. 날짜 검색		\n"
					+ "4. 입력		\n"
					+ "5. 수정		\n"
					+ "6. 삭제		\n");
			
			sc = new Scanner(System.in);
			int n = sc.nextInt();
			
			if (1 == n ) {
				System.out.println("T6Scr :: [" + n + "] 전체 검색");
				
				T6Scr tscr = new T6Scr();
				ArrayList<T6VO> aList =  tscr.t6SelectAll();
				
				if (aList != null && aList.size() > 0) {
					for (int i=0; i < aList.size(); i++) {
						T6VO _tvo = aList.get(i);
						
						System.out.print(_tvo.getT1() + " : ");
						System.out.print(_tvo.getT2() + " : ");
						System.out.print(_tvo.getT3() + " : ");
						System.out.print(_tvo.getT4() + " : ");
						System.out.print(_tvo.getT5() + " : ");
						System.out.println(_tvo.getT6());
					}
				}
			}
			
			if (2 == n ) {
				System.out.println("T6Scr :: [" + n + "] 이름 검색");
				System.out.println("T6Scr :: 검색할 이름을 입력하세요.");
				Scanner sc1 = new Scanner(System.in);
				String t2 = sc1.next();
				
				T6Scr tscr = new T6Scr();
				ArrayList<T6VO> aList =  tscr.t6SelectName(t2);
				
				if (aList != null && aList.size() > 0) {
					for (int i=0; i < aList.size(); i++) {
						T6VO _tvo = aList.get(i);
						
						System.out.print(_tvo.getT1() + " : ");
						System.out.print(_tvo.getT2() + " : ");
						System.out.print(_tvo.getT3() + " : ");
						System.out.print(_tvo.getT4() + " : ");
						System.out.print(_tvo.getT5() + " : ");
						System.out.println(_tvo.getT6());
					}
				}
				if (sc1 != null) { sc1.close(); sc1 = null; }
			}
			
			if (3 == n ) {
				System.out.println("T6Scr :: [" + n + "] 날짜 검색");
				System.out.println("T6Scr :: 검색할 날짜의 시작 날짜를 입력하세요. (YYYY-MM-DD 형식)");
				Scanner sc2 = new Scanner(System.in);
				String fromdate = sc2.next();
				System.out.println("T6Scr :: 검색할 날짜의 마지막 날짜를 입력하세요.(YYYY-MM-DD 형식)");
				String todate = sc2.next();
				
				if (DateUtil.fromtoDate(fromdate, todate)) return;
				
				T6Scr tscr = new T6Scr();
				ArrayList<T6VO> aList =  tscr.t6SelectDate(fromdate, todate);
				
				if (aList != null && aList.size() > 0) {
					for (int i=0; i < aList.size(); i++) {
						T6VO _tvo = aList.get(i);
						
						System.out.print(_tvo.getT1() + " : ");
						System.out.print(_tvo.getT2() + " : ");
						System.out.print(_tvo.getT3() + " : ");
						System.out.print(_tvo.getT4() + " : ");
						System.out.print(_tvo.getT5() + " : ");
						System.out.println(_tvo.getT6());
					}
				}
				if (sc2 != null) { sc2.close(); sc2 = null; }
			}
			
			
			if (4 == n ) {
				System.out.println("T6Scr :: [" + n + "] 입력");
				System.out.println("T6Scr :: 신규 회원의 이름을 입력하세요.");
				Scanner sc3 = new Scanner(System.in);
				String t1 = ChabunUtil.getT6Chabun("d");
				String t2 = sc3.next();
				System.out.println("T6Scr :: 신규 회원의 나이를 입력하세요.");
				String t3 = sc3.next();
				
				T6Scr tscr = new T6Scr();
				boolean bool =  tscr.t6Insert(t1, t2, t3);
				
				if (bool = true) {
					System.out.println("T6Scr :: 입력 성공");
				} else {
					System.out.println("T6Scr :: 입력 실패");
				}
				if (sc3 != null) { sc3.close(); sc3 = null; }
			}
			
			if (5 == n ) {
				System.out.println("T6Scr :: [" + n + "] 수정");
				System.out.println("T6Scr :: 수정할 회원의 이름을 입력하세요.");
				Scanner sc4 = new Scanner(System.in);
				String t2 = sc4.next();
				System.out.println("T6Scr :: 수정할 회원의 나이를 입력하세요.");
				String t3 = sc4.next();
				System.out.println("T6Scr :: 수정할 회원의 회원번호를 입력하세요.");
				String t1 = sc4.next();
				
				T6Scr tscr = new T6Scr();
				boolean bool =  tscr.t6Update(t2, t3, t1);
				
				if (bool = true) {
					System.out.println("T6Scr :: 수정 성공");
				} else {
					System.out.println("T6Scr :: 수정 실패");
				}
				if (sc4 != null) { sc4.close(); sc4 = null; }
			}
			
			if (6 == n ) {
				System.out.println("T6Scr :: [" + n + "] 삭제");
				System.out.println("T6Scr :: 삭제할 회원의 회원번호를 입력하세요.");
				Scanner sc5 = new Scanner(System.in);
				String t1 = sc5.next();
				
				T6Scr tscr = new T6Scr();
				boolean bool =  tscr.t6Delete(t1);
				
				if (bool = true) {
					System.out.println("T6Scr :: 삭제 성공");
				} else {
					System.out.println("T6Scr :: 삭제 실패");
				}
				if (sc5 != null) { sc5.close(); sc5 = null; }
			}
			
		} catch (Exception e) {
			System.out.println("[ERROR] T6Scr :: 에러 >>> : " + e.getMessage());
		} finally {
			if (sc != null) { sc.close(); sc = null; }
		}
	}
}

8교시 (17:30-18:30)

  • 자습 시간

Notes


728x90