SBE_BE_43 / 23.02.20 회고

rse·2023년 2월 20일
0

코드스테이츠_BE_43

목록 보기
38/65

오늘

  • Spring Data JDBC

Spring Data JDBC

JDBC = Java Database Connectivity

자바 레벨에서 사용하는 데이터를 데이터베이스에 저장 및 업데이트 <-> 데이터베이스에 저장된 데이터를 자바 코드 레벨에서 사용할 수 있게 해주는 Java에서 제공하는 표준 사양(또는 명세, Specification)다.

Spring JDBC? / Spring Data JDBC?

그냥 단어 하나가 빠졌을 뿐인데 뭐가 다를까?

데이터 액세스 기술이 다르다.

스프링에서 사용할 수 있는 대표적인 데이터 액세스 기술들

  • mybatis
  • Spring JDBC
  • Spring Data JDBC
  • JPA
  • Spring Data JPA

Spring JDBC는 SQL 중심 기술이고, Spring Data JDBC는 객체 중심 기술이다.

  • SQL 중심 기술
    SQL 쿼리문을 애플리케이션 내부에 직접적으로 작성하는 것이 중심이 되는 기술
 <select id="findMember" resultType="Member">
  SELECT * FROM MEMBER WHERE member_id = #{memberId}
</select>

mybatis의 SQL Mapper 예시.

Member member = this.jdbcTemplate.queryForObject
("select * from member where member_id=?", 1, Member.class);

Spring JDBC의 JdbcTemplate 사용 예시.

위 2개의 코드 모두 SQL 쿼리문이 직접적으로 들어가 있는 것을 알 수 있다.

  • 객체 중심 기술

객체(Object) 중심 기술은 데이터베이스에 접근하기 위해서 SQL 쿼리문을 직접적으로 작성하기 보다는 데이터베이스의 테이블에 데이터를 저장하거나 조회할 경우, Java 객체(Object)를 이용해 애플리케이션 내부에서 이 Java 객체(Object)를 SQL 쿼리문으로 자동 변환 한 후에 데이터베이스의 테이블에 접근하는 방식이다.

이러한 객체(Object) 중심의 데이터 액세스 기술을 ORM(Object-Relational Mapping)이라고 한다.
대표적인 JAVA ORM기술이 JPA이다.

In-memory DB H2

이제

profile
기록을 합시다

0개의 댓글