728x90
JDBC(Java Database Connectivity)
- Java 기반의 코드 레벨에서 사용하는 데이터를 데이터 베이스에 저장 및 업데이트하거나 그 반대로 데이터베이스 내의 데이터를 Java 코드 레벨에서 사용할 수 있게 해주는 표준 사양(명세, Specification)이다.
- Java 애플리케이션 -> JDBC API -> JDBC 드라이버 -> 데이터베이스 구조의 동작 흐름을 가지고 있다.
Connection Pool
- JDBC API를 사용해서 데이터베이스와의 연결을 위한 Connection 갹체를 생성하는 일은 비용이 꽤 많이 든다.
- 이 비용을 줄이기 위해 애플리케이션 로딩 시점에 Connection 객체를 미리 생성해두고 애플리케이션에서 데이터베이스에 연결이 필요할 때 미리 만들어둔 Connection 객체를 사용하여 애플리케이션 성능을 향상시킬 수 있다.
- Spring Boot 2.0부터는 HikariCP를 기본 DBCP(Database Connection Pool)로 채택하고 있다.
SQL 중심 기술
- mybatis, Spring JDBC
- 애플리케이션에서 데이터 베이스를 접근할 때 SQL 쿼리문을 애플리케이션 내부에 직접 작성한다.
- SQL 쿼리문이 직접적으로 포함되는 방식으로 과거에 사용하던 방식이다.
객체 중심 기술
- 데이터를 SQL 쿼리문 위주가 아닌 객체 관점으로 바라보는 기술
- Java 객체를 SQL 쿼리문으로 자동 변환한 후에 데이터베이스의 테이블에 접근한다.
- 이러한 객체 중심의 데이터 엑세스 기술을 ORM(Object-Relational Mapping)이라고 한다.
- 대표적으로 JPA(Java Persistence API), Spring Data JDBC(내부적으로 jdbc 기술을 이용하긴 함)가 있다.
728x90