27일 10/05

권준석·2022년 10월 5일
0

자바의 데이터 저장

  • 방법은 여러가지 그 중에 text(하드드라이브) 와 DB(데이터베이스)에 저장을 많이한다

DBMS ( DB에 공유하겠다)

  1. oracle에서 제공하는 라이브러리 (클래스를 모아놓은것)설치
  2. 실제 작성 할 때 순서
    1. 드라이버 로딩(필요한 클래스 자바로 로드)
    2. 연결요청(자바에서 DB로 요청) - 필요할때마다 연결하는것(*)
    3. 쿼리를 전송
    4. 결과값을 받는가
    5. 자원을 반납 (다른 객체나 프로그램도 사용해야하기 때문)

중요한이론
DBMS에서는 외부에서 자원을 공유하도록한다
공유할때마다 공유에 필요한 자원을 할당한다 (은행 창구)
만약 자원을 필요한 프로그램이 100개하면 필요한 자원도 100개이다
이렇게 무한대로 자원을 허락한다면 DBMS는 자원의 처리보다
연결을 관리하는데 더 많은 자원이 필요 그래서 성는 저하가 될수있다

그래서 이를 방지하기위한 코드는
1. 자원을 할당 받은 후 자원을 반납 (개발자가 직접 make)
2. 별도로 자원을 할당하는 객체를 만들고
그 객체에서 미리 5개정도의 연결자원을
확보 필요한 객체에 공유하도록한다
이를 Datadase connection pool이라고 한다DBCP (spring 공부)

DAO(data access object)

  • 데이터베이스 에 접속하여 쿼리를 실행
  • 쿼리 실행 후 리턴값을 받는 작업을수행하는
  • 객체를 의미적으로 DAO라고한다
  • 이 객체는 드라이버 로딩
  • 연결요청, 쿼리전송, 결과값을 받는다
  • 자원을 반납하느 코드가 포함된다

튜플에 저장할 정보를 갖고있거나 또는 데이터 베이스에서 가져온 튜플의 정보를 자바로 가져오는 객체이다
이름은 가독성을위해 DTO라고 하는게좋다 (이름이 DTO라해서 DTO가 되는것이 아니다)
전역변수의 getter와setter가 있어야 DTO라고 부른다(Spring에서는 반드시 있어야 한다)

작업 절차
드라이버 설치
클래스로드
커넥션가져오기(연결
쿼리작성,전성
쿼리의 리턴값저장
커넥션 반납

dao
클래스로드부터의 작업절차를 정의한것

dto
입력할 내용

profile
ㅇㅇ

0개의 댓글