목록분류 전체보기 (214)
열심히 끝까지
---내가 짠 코드 package class04; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Scanner; class ProductVO{ private String name; private int price; private int cnt; private String category; public String getName() { return name; } public void setName(String name) ..
SQL : 인터프리터 언어 / 채팅형 언어 -- 오라클 실행 순서 SELECT AGE,MAX(SCORE) -- 4 : 화면에 요청한 컬럼값(AGE, MAX(SCORE))을 출력 FROM STUDENT -- 1 : 테이블 선택 WHERE AGE=22 -- 2 : 조건절로 데이터를 선택 GROUP BY AGE; -- 3 : GROUPING 테이블 선택 -> 조건절로 데이터를 선택 -> GROUPING -> 화면에 요청한 컬럼값을 출력 >> 실행순서를 생각해 볼 것! -- GROUP BY 절 SELECT * FROM USER_TABLES; SELECT * FROM STUDENT; SELECT AGE,MAX(SCORE) FROM STUDENT AGE=22; SELECT AGE FROM STUDENT WHERE ..
[저번 수업 복습] MVC : 유지보수가 용이하다 >> 낮은 결합도 -> 1개의 변경사항이 발생했을 때, 코드를 1곳만 수정 가능 >> 높은 응집도 -> A로직과 관련된 코드를 알고싶을 때, 로직마다 모듈화가 되어있어서 하나의 모듈만 확인해도 알 수 있음 Model : VO -> 학생 | 제품 특정 정보를 객체화 : DAO -> 데이터를 사용하는 로직 핵심 로직, 비즈니스 메서드, CRUD input VO output boolean/VO/AL 네이버 회원 VO 회원 VO ID 이름 PW 회원 DAO 회원가입 마이페이지 내정보변경 회원탈퇴 로그인 로그아웃 웹툰 VO 웹툰등록번호 요일 회차 작가 웹툰 DAO(거의 관리자용) 웹툰등록(관리자)(서비스가 아니다) 목록보기 해당웹툰보기 내용변경 웹툰삭제 댓글 VO..
[day18] 클라이언트 ex) 사용자 웹 브라우저 >> 같은 단어 >> 어플 객체 Controller app = new Controller(); app -> new 어플 객체 - 유지보수가 용이한 프로그램 제작하려면? > 모듈의 크기를 줄여야 한다.(잘게잘게 쪼개야 한다) ex ) 레고 : 크기가 큰 레고조각으로 만들 수 있는 것이 얼마 없지만 크기가 작은 여러 개의 레고조각으로는 여러가지를 만들 수 있다. 사용자가 View에서 입력한 값들은 Controller까지 도착한다! Why? >> Controller에서 View의 메서드를 호출했기 때문! >> 추가를 하면... > 사용자가 추가하려고 잠깐잠깐 입력한 것들은 갈색 천년만년 저장하는 것이 아니기 때문에 지역변수! > Controller에서는 사용..
학생부를 할 것! [설계] 학생부 프로그램 만들 것 ★실제객체는 멤버변수가 이렇게 적지 않다.. 학생 VO(속성) 학번 PK 이름 성적 ★ 기본생성자를 사용(JSP, Spring 프레임워크 -> "자동매핑") 학생부 ArrayList DB // 얼마나 많이 오버로딩될 지 모르기때문에 학생 VO로 통일 ★ CRUD(비즈니스 메서드 핵심로직) 메서드 인자값을 VO로 통일시켜서 작업 -> 오버로딩↓ : VO의 멤버변수가 많을수록 오버로딩할 메서드도 기하급수적으로 많아짐 -> 유지보수↑ : VO에 멤버변수가 추가되더라도, DAO의 메서드 시그니쳐는 변경되지 않는다. boolean insert(이름) // 메서드 오버로딩 boolean Insert(이름 ,성적) // 메서드 시그니쳐 정의 >> boolean in..
-----ProductView--- package view; import java.util.ArrayList; import java.util.Scanner; import javax.sql.DataSource; import javax.xml.crypto.Data; import model.ProductVO; public class ProductView { Scanner sc = new Scanner(System.in); public int action; public void startView() { while(true) { // 유효성 검사 -> 꼼꼼하게 작업해보기! System.out.println("=== 자판기 ==="); System.out.println("1.메뉴확인 2.구매 3.종료"); Syst..
[자판기 프로그램] MVC [설계]------------- 주제 : 자판기 프로그램 with MVC 요구사항 - 관리자 모드 - 재고 데이터 - MVC 역할분담을 제대로 - 각 파트에 2.2.2 - 문서화(버전 관리) + 회의 내용 기록 Model 파트--------- - VO : 데이터 정의 - 자판기 안의 제품 : PK(중요!!) : 제품 이름 : 제품 가격 : 재고 데이터 - DAO : 비즈니스 메서드(핵심로직, CRUD) 무슨 행동을 할지 정의 VO를 가지고 어떤 동작을 할 지 고민 - 데이터 추가(C) : Insert : 새로운 음료 혹은 재고를 추가하는 행위 >> "관리자"의 작업 - 데이터를 출력(보여주는 행위 V) : 음료를 보여주는 행위 >> 서비스 : 음료를 구매하는 행위 >> 서비스(..
[오늘 수업] [MVC] Model------------------- DB 저장된 데이터 => VO : 어떻게 Java 객체로 표현할 지 ex ) 재고 데이터 DBMS(Oracle, MySQL) DBMS에 저장된 데이터를 Java단으로 불러오는 역할 => DAO : CRUD(핵심로직, 비즈니스 메서드) == 사용자에게 서비스(제공)되는 메서드 View------------------- 사용자 공간 : console, 브라우저, 웹 페이지 -> 화면 구성 -> 사용자가 입력한 모든 값에 대해서 유효성 검사 Model과 View를 직접 잇는 것은 유지보수에 대해 불리하다. >> 양측이 다 불편해지는 상황 발생 >> 이 둘을 이어주는 친구 : Controller Controller------------- Mo..