본문 바로가기

개발자 양성과정 필기노트73

VIEW / SEQUENCE DB || DAY15 || VIEW, SEQUENCE # VIEW 1. VIEW란? 하나 이상의 베이스테이블을 기반으로 생성되었지만, 물리적으로 존재하지는 않고 단지 데이터딕셔너리에 select 구문의 형태로 정의만 되어있는 가상의 테이블이다. 2. VIEW 사용방법 CREATE VIEW 뷰명 AS SELECT 베이스테이블정보 FROM 베이스테이블명 3. VIEW 정의방법 - CREATE OR REPLACE VIEW - DROP VIEW - ALTER 구문은 없다. # SEQUENCE - 자동으로 고유한 번호를 반환해주는 번호생성기와 같은 오브젝트이다. - 특히 PRIMARY KEY, UNIQUE 제약조건의 경우에 유용하게 사용된다. 1. 시퀀스 생성 CREATE SEQUENCE *** 콤마 안찍는다! .. 2021. 10. 6.
오버라이딩 / 오버로딩 / 생성자와 super I. 오버라이딩 # 개념 상속받은 기존의 메서드재정의 # 메서드 오버라이딩 작성규칙 1. 슈퍼클래스 메서드 시그니처가 완전히 동일해야한다. 2. 슈퍼클래스 메서드의 접근제한자보다 범위가 좁아지는 것 가능! II. 오버로딩 # 개념 - 메서드 다중정의 - 기존의 메서드의 메서드명은 그대로둔 채 다른 형식으로 여러개 정의하는 것. - 오버로딩은 상속과 관계가 없다. III. 생성자와 super() - 서브클래스의 생성자는 슈퍼클래스의 기본생정자를 자동으로 호출한다. - 이때 슈퍼클래스의 생성자가 파라미터 생성자만 존재한다면, 서브클래스의 생성자가 슈퍼클래스의 기본생성자를 호출하면서 오류가 발생하게된다. - 해결책 1. 슈퍼클래스에 기본 생성자를 정의한다. 2. 서브클래스에서 슈퍼클래스의 파라미터 생성자를 호.. 2021. 10. 2.
Import / 접근제한자 / 상속 / 생성자 I. Import # Import 개념 import 상위패키지명.하위패키지명.클래스명 ; import 상위패키지명.하위패키지명.*; # 단축키 ctrl + shift + O II. 접근제한자 # 접근제한자의 종류 1. public -> 모든 클래스에서 접근이 가능함 2. protected -> 상속관계일 때 접근이 가능함. 3. default -> 같은 패키지안에 속한 클래스에 접근이 가능함/ 접근제한자를 명시하지 않은경우에 적용된다. 4. private -> 해당 클래스에서만 접근이 가능함. # 제한의 정도 private < default < protected < public III. 상속 # 개념 - 부모클래스가 가진 멤버변수를 서브클래스에서 물려받아 별도의 선언없이 사용할 수 있도록한다. - Is .. 2021. 10. 2.
데이터 삭제 조작어 DB || DAY14 || 테이블 삭제 관련 조작어 DROP & RECYCLEBIN, TRUNCATE, DELETE 1. RECYCLEBIN -> DROP TABLE 실행 되돌리기 # 휴지통조회하기 show recyclebin # 휴지통에 들어간 테이블 되살리기 FLASHBACK TABLE 테이블명 TO BEFORE DROP; #휴지통을 거치지 않고 테이블을 삭제하기 DROP TABLE 테이블명 PURGE; -> FLASHBACK으로 되돌릴 수 없다. 보안상 중요한 데이터를 삭제하는경우에 활용한다. 2. TRUNCATE TABLE 테이블의 구조는 남겨두고, 데이터만 삭제한다 # DELETE 와 TRUNCATE 조작어 비교 DELETE TRUNCATE 개념 특정 행만 삭제 모든 행을 삭제 문법 SQL> D.. 2021. 9. 29.
입력값을 DB에 저장하기 # jsp로 생성한 HTML페이지에서 입력받은 값을 DB에 저장하기. 1. 한글입력값을 받는 경우에 대비하여 utf-8로 설정 request.setCharacterEncoding("utf-8"); 2. 입력받은 값을 변수에 저장하기. - getParameter() 메서드로 불러오는 값은 모두 '문자열' 데이터타입이므로, 숫자데이터는 별도로 정수형으로 형변환을 해야한다. int num = Integer.parseInt(request.getParameter("num")); - String 타입데이터는 별도의 처리가 필요없다. String name = request.getParameter("name"); 3. HTML에서 제출한 내용을 DB에 저장하기 1) DB에 연결하기 위한 드라이버를 불러온다 Class... 2021. 9. 29.
ALTER TABLE DB || DAY13 || ALTER TABLE # 테이블 1. 테이블명 변경 RENAME 기존테이블명 TO 수정한테이블명 # 컬럼 1. 컬럼 추가 ALTER TABLE 테이블명 ADD 2. 컬럼 수정 ALTER TABLE 테이블명 MODIFY 3. 컬럼 삭제 ALTER TABLE 테이블명 DROP (삭제할 컬럼명) ; 또는 ALTER TABLE 테이블명 DROP COLUMN 삭제할 컬럼명; 4. 컬럼명 변경 ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 바꿀컬럼명 # 제약조건 1. 제약조건 추가 *** 테이블을 복사해오는경우, 제약조건은 제대로 복사가 되지않고 NOT NULL조건만 복사가된다. 때문에 제약조건을 추가하는 과정이 필요하다. - 컬럼레벨 ALTER TABLE 테이블.. 2021. 9. 28.
추상클래스와 인터페이스 I. 추상 -> 구현을 강제하기 위해 사용한다. 1) 추상클래스 # 기본문법 abstract class 클래스명{ . . . } 2) 추상메서드 [접근제한자] [abstract] [리턴타입] 메서드명(매개변수) ; public abstract void absMethod(int para) ; *** 중괄호 { } 쓰지않음 II. 인터페이스 # 인터페이스의 필요성 구현하도록 강제함으로써 코드를 표준화할 수 있다. 상속 관계가 없는 클래스끼리 관계부여가 가능해서 다형성을 확장시키기 좋다. 모듈 간 독립적 프로그래밍으로 개발시간을 단축시킬 수 있다. 모듈교체가 쉽다. - 인터페이스를 통해 업캐스팅을 사용하여 다형성을 적용시키면, 단순한 모듈(객체) 교체만드로 동일한 코드를 사용하여 여러 객체를 다룰 수 있게된다.. 2021. 9. 28.
MySQL 데이터베이스기초 MySQL || DAY1 || 데이터베이스기초 # 현재 존재하는 모든 데이터베이스 조회하기 SHOW databases # 데이터베이스 생성, 삭제하기 CREATE DATABASE 데이터베이스명 DROP DATABASE 데이터베이스명 # 사용할 데이터베이스 공간 선택하기 USE 데이터베이스명 # 선택한 데이터베이스에 존재하는 모든 테이블 조회하기 SHOW tables # 테이블 생성하기 CREATE TABLE 테이블명( . . .) ; ex) CREATE TABLE student ( num int primary key, name varchar(10) ); # 테이블에 데이터 추가하기 INSERT INTO 테이블명(컬럼1, 컬럼2,..) VALUES(컬럼1의 값, 컬럼2의값, . . .); # 테이블의 특정.. 2021. 9. 23.
JSP 세션 JSP || DAY3 || 세션 : 페이지에 상관없이 설정한 값을 유지시키며 모든 페이지에서 해당 설정값을 사용할 수 있도록 한다. ex) 로그인 후 아이디와 비밀번호 등. 1. 쿠키와 세션 비교 세션 구분 쿠키 연결정보를 저장함. 페이지에 상관없이 값을 유지함. 공통점 연결정보를 저장함. 페이지에 상관없이 값을 유지함. 서버에 생성. 보안상 중요한 데이터를 다룬다. 차이점 서버에 생성 후 클라이언트에 저장함. 보안상 중요하지 않은 데이터이다. 2. 세션 세션은 JSP의 내장객체이므로 별도로 객체를 생성할 필요가 없다. 세션 내장객체 안에 세션값 생성하기: session.setAttribute( "세션이름" , "세션값" ) 생성한 세션값 불러오기: session.getAttribute( "세션이름" ).. 2021. 9. 19.