1. JDBC(Java Database Connectivity)

  • Java 기반 애플리케이션의 코드 레벨에서 사용하는 데이터를 데이터베이스에 저장 및 업데이트 하거나 반대로 데이터베이스에 저장된 데이터를 Java 코드 레벨에서 사용할 수 있도록 해주는 Java에서 제공하는 표준 API이다
  • Java 초창기(JDK 1.1) 버전부터 제공되는 데이터베이스 액세스 기능을 위한 API이다
  • JDBC API를 사용해서 Oracle, MS SQL, MySQL 등의 데이터베이스와 연동할 수 있다

Java Application → JDBC API → JDBC Driver → Database

  • JDBC Driver
    - 데이터베이스와의 통신을 담당하는 인터페이스이다
    - Oracle이나 MS SQL, MySQL 같은 다양한 벤더에서는 해당 벤더에 맞는 JDBC 드라이버를 구현해서 제공을 한다
    - JDBC 드라이버의 구현체를 이용해서 특정 벤더의 데이터베이스에 액세스 할 수 있다

2. Connection Pool

  • 데이터베이스 Connection을 보관하고 애플리케이션이 필요할 때 Connection을 제공해주는 Connection 관리자이다
  • 애플리케이션 로딩 시점에 Connection 객체를 미리 생성한다
  • 생성한 Connection 객체를 Connection Pool에 저장한다
  • 애플리케이션이 데이터베이스에 연결이 필요한 경우 미리 생성 보관 중인 Connection 객체를 사용한다
  • Spring Boot 2.0 이전 버전에는 Apache 재단의 오픈 소스인 Apache Commons DBCP(Database Connection Pool, DBCP)를 주로 사용했다
  • Spring Boot 2.0 부터는 HikariCP기본 DBCP로 채택하고 있다

 

※ 참조 링크

▶ JDBC : https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/

 

Java JDBC API

Java JDBC API The Java Database Connectivity (JDBC) API provides universal data access from the Java programming language. Using the JDBC API, you can access virtually any data source, from relational databases to spreadsheets and flat files. JDBC technolo

docs.oracle.com

https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

 

Lesson: JDBC Basics (The Java™ Tutorials > JDBC Database Access)

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated

docs.oracle.com

https://ko.wikipedia.org/wiki/JDBC

 

JDBC - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

https://techxyte.com/tutorials/hibernate/pros-and-cons-of-jdbc.php

 

Premium Bootstrap 5 HTML, Angular 11, VueJS, React & Laravel Admin Dashboard Themes

Metronic - #1 Selling Premium Bootstrap Admin Theme of All Time. Built with Twitter Bootstrap 5 HTML, Angular 11, VueJS, React and Laravel. Trusted By Tens of Thousands Users.

keenthemes.com

HikariCP : https://github.com/brettwooldridge/HikariCP

 

GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last.

光 HikariCP・A solid, high-performance, JDBC connection pool at last. - GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last.

github.com

 

+ Recent posts