
자바 프로그래임이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스
통역자의 역할
DB에 접근 할 수 있도록 Java에서 제공하는 API
JDBC 드라이버 매니저가 제품에 따른 드라이버 생성하여 API에 맞게 동작할 수 있게 처리
JDBC에서 DriveManager가 하는 일들을 JDBCTemplate에게 맡김
개발자는 메서드에 쿼리를 직접 매핑
핵심적으로 해야 할 작업만 해주면 나머지는 Framwork가 알아서 처리
spring JDBC 접근법,
내부로는 Plain JDBC API를 사용하지만 문제점들을 제거한 형태의 Spring에서 제공하는 Class
쿼리를 직접 작성하는 방법을 제공함으로써 많은 작업과 시간 절약 → SQL Mapper중 하나
SQL 문장으로 직접 데이터베이스 데이터를 다룸
java 코드와 분리되어 있어 유지보수가 편함
단점 : CRUD 메소드를 직접 다 작성 해야함
ex) myBatis, Spring JDBC
SQL Mapper ↔ ORM(Object-Relational Mapping)
객체와 관계형데이터베이스의 데이터를 자동으로 매핑
Class와 DB 테이블을 매핑한다는 뜻
직접 쿼리를 작성하지 않고도 객체가 DB에 접근할 수 있음
객체지향 프로그래밍의 4가지 특징과 5가지 원칙 중 하나의 원칙
확장에는 열려 있고 변경에는 폐쇄되어야 한다는 원칙
개방폐쇄원칙의 아주 좋은 예는 JDBC → 데이터베이스가 오라클에서 Mysql로 바뀌더라도 Connection외 변경할 부분이 없기때문
→ Persistent(영속성) : 데이터가 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성
JAVA진영에서 ORM 기술표준으로 사용하는 인터페이스 모음
자바어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
인터페이스임으로 실제 구현된것이 아님
Hibernate, OpenJPA 등이 JPA를 구현한다