혼자공부중
공부하는 블로그
혼자공부중
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • 자격증 (49)
      • 정보처리기사 실기 (49)
    • JAVA (18)
    • DB (0)
    • 알고리즘 문제 풀이 (11)
      • 프로그래머스 (11)
    • Front (0)
      • HTML (0)
      • CSS (0)
      • Javascript (0)
    • 패스트캠퍼스 강의 (33)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 상속
  • 변수
  • 객체지향
  • 2022정보처리기사필기
  • 정보처리기사
  • 프로그래머스
  • 2022정보처리기사실기
  • 데이터베이스
  • 패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
  • 자바
  • 인터페이스
  • 수제비
  • 정보처리기사 필기
  • 코딩테스트
  • 관계형데이터베이스
  • 애플리케이션테스트
  • 반복문
  • 시나공
  • 정보처리기사 실기 정리
  • Java
  • 정보처리기사 필기 정리
  • 데이터모델
  • 정보처리기사 실기
  • 메소드
  • UI
  • 배열
  • 2022정보처리기사
  • DBMS
  • 알고리즘
  • SQLD

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
혼자공부중
패스트캠퍼스 강의

[6일차] 50일 포트폴리오 챌린지

[6일차] 50일 포트폴리오 챌린지
패스트캠퍼스 강의

[6일차] 50일 포트폴리오 챌린지

2023. 8. 13. 20:45
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S 

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr


JDBC 프로그래밍

JDBC(Java DataBase Connectivity)

  • 자바 애플리케이션에서 DB 프로그래밍을 할 수 있도록 도와주는 표준 인터페이스
  • JDBC 인터페이스들을 구현한 구현체들은 각 데이터베이스 벤더 사들이 제공
  • 통역자의 역할: 응용프로그램과 DBMS 간의 통신을 중간에서 번역해주는 역할을 한다

DBCP(DataBase Connection Pool)

  • 미리 일정량의 DB 커넥션을 생성해서 풀에 저장해 두고 있다가 HTTP 요청에 따라 필요할 때 풀에서 커넥션을 가져다 사용하는 기법
  • 참고로 스프링 부트 2.0부터는 디폴트 커넥션 풀로 HikariCP 사용

커넥션 풀 사용시 유의 사항

  • 커넥션의 사용 주체는 WAS스레드이므로 커넥션 개수는 WAS 스레드 수와 함께 고려해야 함
  • 커넥션 수를 크게 설정하면 메모리 소모가 큰 대신 동시 접속자 수가 많아지더라도 사용자 대기 시간이 상대적으로 줄어들게 되고, 반대로 커넥션 개수를 작게 설정하면 메모리 소모는 적은 대신 그만큼 대기시간이 길어질 수 있음. 따라서 적정량의 커넥션 객체를 생성해 두어야 함

DataSource

  • 커넥션을 획득하기 위한 표준 인터페이스
  • HikariCP의 DataSource 사용

java.sql Package

  • java.sql.Driver
    • DB와 연결하는 Driver class를 만들 때 반드시 implements 해야 하는 interface로 JDBC 드라이버의 중심이 되는 Interface이다
  • java.sql.Connection
    • 특정 데이터베이스와 연결정보를 가지는 Interface이다
    • DriverManager로부터 Connection 객체를 가져온다
  • java.sql.Statement
    • SQL query문을 DB에 전송하는 방법을 정의한 Interface이다
    • Connection을 통해 가져온다
  • java.sql.ResultSet
    • SELECT 구문 실행 결과를 조회할 수 있는 방법을 정의한 Interface이다
  • java.sql.PreparedStatement
    • Statement의 하위 Interface이다
    • SQL문을 미리 컴파일 하여 실행 속도를 높인다
  • java.sql.CallableStatement
    • PreparedStatement의 하위 Interface이다
    • DBMS의 Stored procedure을 호출한다

JDBC 개발 단계

  1. JDBC Driver loading
    • 데이터베이스 벤더에 맞는 드라이버를 호출한다
    • 데이터베이스와의 연결을 위해 드라이버를 로딩한다
  2. Connection
    • DB와 연결을 위해 URL과 계정정보가 필요
    • 연결 메소드로는 DriverManager.getConnection(url,id,pwd):Connection 이다
  3. Statement/PreparedStatement
    • SQL 구문을 정의하고 변경 될 값을 치환문자(?)를 이용해 쿼리 전송 전에 값을 setting한다
  4. executeUpdate() or executeQuery()
    • executeUpdate()는 SQL query문이 INSERT, DELETE, UPDATE의 경우에 사용한다. 반환값의 타입은 int형이다
    • executeQuery()는 SQL query문이 SELECT의 경우에 사용한다. 반환값의 타입은 ResultSet이다
  5. ResultSet(SELECT의 경우)
    • 데이터베이스 조회 결과집합에 대한 표준
    • next()를 통해 DB의 table 안의 row 한 줄을 불러온다
    • getString(), getInt()를 통해 한 행의 특정 Column값을 가져온다
  6. close(Connection, Statement, ResultSet)
    • Connection, Statement, ResultSet에 대해 close를 해준다

 

 

저작자표시 변경금지 (새창열림)

'패스트캠퍼스 강의' 카테고리의 다른 글

[8일차] 50일 포트폴리오 챌린지  (0) 2023.08.15
[7일차] 50일 포트폴리오 챌린지  (0) 2023.08.14
[5일차] 50일 포트폴리오 챌린지  (0) 2023.08.12
[4일차] 50일 포트폴리오 챌린지  (0) 2023.08.11
[3일차] 50일 포트폴리오 챌린지  (0) 2023.08.10
  • JDBC 프로그래밍
  • JDBC(Java DataBase Connectivity)
  • DBCP(DataBase Connection Pool)
  • 커넥션 풀 사용시 유의 사항
  • DataSource
  • java.sql Package
  • JDBC 개발 단계
'패스트캠퍼스 강의' 카테고리의 다른 글
  • [8일차] 50일 포트폴리오 챌린지
  • [7일차] 50일 포트폴리오 챌린지
  • [5일차] 50일 포트폴리오 챌린지
  • [4일차] 50일 포트폴리오 챌린지
혼자공부중
혼자공부중
대단한 목적보다는 혼자 공부하는 것에 의미를 두려고 합니다.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.