Sh개발일기

Spring JDBC 본문

BoostCourse

Spring JDBC

Sh4869 2020. 3. 9. 01:15

학습 목표

  1. Spring JDBC에 대한 개념을 이해합니다.
  2. Spring JDBC의 핵심 클래스와 인터페이스에 대해 이해합니다.

핵심 개념

  • JdbcTemplate
  • RowMapper

JDBC 프로그래밍은 반복되는 코드가 많아져 생산성을 떨어트리는 주된 원인이 된다. 이러한 문제를 해결하기 위해 등장한것이 Spring JDBC이다.

Spring JDBC

  • JDBC 프로그래밍은 반복되는 개발요소가 있다.
  • 이러한 요소는 개발을 지루하게 만든다.
  • 개발하기 지루한 JDBC의 모든 저수준 세부사항을 스프링 프레임워크가 처리해준다.
  • 개발자는 필요한 부분만 개발하면 된다.

위의 표처럼 개발자는 꼭 개발자가 해야 하는 부분만 개발하면 나머지 자잘한 부분들은 Spring JDBC가 대신 해주는 것이다.

Spring JDBC 패키지

  • org.springframework.jdbc.core : JdbcTemplate 및 관련 Helper 객체 제공
  • ororg.springframework.jdbc.datasource : DataSource를 쉽게 접근하기 위한 유틸 클래스, 트랜젝션매니져 및 다양한 DataSource 구현을 제공
  • org.springframework.jdbc.object : RDBMS 조회, 갱신, 저장등을 안전하고 재사용 가능한 객체 제공
  • org.springframework.jdbc.support : jdbc.core 및 jdbc.object를 사용하는 JDBC 프레임워크를 지원

JDBCTemplate

  • org.springframework.jdbc.core에서 가장 중요한 클래스이다.
  • 리소스 생성, 해지를 처리해서 연결을 닫는 것을 잊어 발생하는 문제 등을 피할 수 있도록 한다.
  • Statement의 생성과 실행을 처리한다.
  • SQL 조회, 업데이트, 저장 프로시저 호출, ResultSet 반복호출 등을 실행한다.
  • JDBC 예외가 발생할 경우 org.springframework.dao패키지에 정의되어 있는 일반적인 예외로 변환시킨다.

행 수 가져오기
한 건 조회하기

위와 같은 방법으로 데이터베이스에 접근하여 원하는 정보를 가져올 수 있다.

JdbcTemplate외의 접근방법

NamedParameterJdbcTemplate : JdbcTemplate에서 JDBC statement 인자를 '?'를 사용하는 대신 파라미터명을 사용하여 작성하는 것을 지원한다. NamedParameterJdbcTemplate 예제

 

Data Access

The Data Access Object (DAO) support in Spring is aimed at making it easy to work with data access technologies (such as JDBC, Hibernate, or JPA) in a consistent way. This lets you switch between the aforementioned persistence technologies fairly easily, a

docs.spring.io

SimpleJdbcInsert

테이블에 쉽게 데이터 insert 기능을 제공 SimpleJdbcInsert 예제

 

Spring JDBC - SimpleJdbcInsert Class - Tutorialspoint

Spring JDBC - SimpleJdbcInsert Class Advertisements The org.springframework.jdbc.core.SimpleJdbcInsert class is a multi-threaded, reusable object providing easy insert capabilities for a table. It provides meta data processing to simplify the code needed t

www.tutorialspoint.com

 

 

 

 

'BoostCourse' 카테고리의 다른 글

Spring MVC 구성요소  (0) 2020.03.12
Spring MVC란  (0) 2020.03.12
XML과 Java Config를 이용한 설정  (0) 2020.03.09
Spring IoC/DI 컨테이너  (0) 2020.03.06
Spring Framework란?  (0) 2020.03.03