study/JDBC

8_JDBC_(에러, 용어정리)

스파이크12 2019. 12. 10. 08:19

컴파일 에러 : 소스상의 문법 에러 , 소스 구문을 수정하여해결
런타임 에러 : 입력값이 틀렸거나 인덱스값이 벗어났거나 
계산식오류등 주로 if문 사용 에러처리
시스템 에러 : 컴퓨터 오작동으로 인한 에러 소스구문해결불가

-unchecked exception 
별로의 예외처리를 하지 않아도 되는 예외
주로 프로그래머의 부주의로 인한 경우가 많기 때문에
예외처리 보다는 조건문 등을 이용한 코드수정필요

-checked exception
특정 코드가 예외를 발생시킬 가능성이 있으므로
사용시 반드시 예외처리를 해야되는 예외

-throws
 호출한 상위 메소드에게 처리 위임
처리범위가 같거나 후손이여야함(오버라이딩시)

-------------------------------------------------------------------------------
-JDBC(java database connectivity)
자바에서 데이터베이스에 접근할 수 있게 해주는
programming API

-run
 실행을 위한 main을 가지고 있는 패키지
-view
 client에게 보여주는 화면담당
-controller
 view에서 전달받은 데이터를 가공처리 후 dao로 전달
 dao로부터 전달받은 결과에 따라 view를 결정하여
 인코딩 후 데이터 전송
-service
 Service는 데이터에 대한 비지니스 로직(가공) 수행 및
 DB와의 연결정보를 가지고 있는 Connection 객체를 생성하고
여러 DAO를 호출하여 하나의 요청에 대한 여러번의
DB접근/갱신을 진행하며 그것을 하나의 트랜잭션으로
묶어 처리하는 클래스
-template
 기존 DB처리 작업 시 마다 새로운 connection 객체를 생성
하여 DB연결을 진행함.  메모리 낭비증가, 객체 생성소멸에
따른 시간 낭비 이를 해결하기 위해 한클래스의
모든 필드, 메소드를 static으로 선언하여 static 영역
자체에 해당 클래스 객체를 만드는 형태

(싱글톤패턴)
- 프로그램 구동시 메모리에 객체를 단 하나만 기록되게
하는 디자인 패턴

-model
1) VO
 DB테이블의 한 행의 정보가 기록되는 저장용 객체
2)DAO
 DBMS에 접속하여 실제 데이터를 전송하거나
 결과 값을 전달받는데 사용되는 클래스

@Connection
- DB의 연결 정보를 담은 객체
- JDBC드라이버와 DB사이를 연결해주는 일종의 통로
- 직접 객체 생성은 불가
- DriverManager.getConnection() 이용하여 객체 생성

@Statement
- Connection 객체를 이용해서 DB에 SQL문을 전달하고
전달하는 SQL문의 실행 결과를 반환받는 역할을 하는객체
- Connection.createStatement() 이용해서 객체 생성

@PreparedStatement
- statement와 같은 SQL문을 전달하고 실행하여
결과를 반환받는 객체
- 차이점은 실행 시간동안 인수값을 위한 공간을 확보
- SQL문에서 인수가 필요한 각 부분에
위치홀더(?)를 작성하여 SQL문을 정의할 수 있음
-?(위치홀더) : SQL 문장에 나타나는 토큰
 SQL구문이 실행되기 전에만 실제 값으로 대체하면됨

@ ResultSet
- SELECT 문을 사용할 SQL 성공시 반환되는 값을 저장할 객체
- SELECT의 결과로 생성된 테이블을 담고 있으며 
커서(CURSOR)라는 테이블을 한 행 씩 접근하는 DB객체를
이용하여 특정 행에 대한 참조를 조작함

update 테이블 set 컬럼명 = ? where ~
delete  from 테이블 where ~