본문 바로가기
IT/Java

SpringJDBC에서 DataSource, RowMapper란?

by 성준하이 2023. 8. 24.
반응형

스프링에서 JDBC란.

Java DataBase Connectivity 의 약자로 DB에 접근할 수 있도록 JAVA에서 제공하는 API이다.

즉, DB에 데이터를 CRUD 하는 방법을 제공한다.

 

스프링이 아니고 순수 자바에서 데이터베이스와 연동을 하려면

DBMS 별로 connect 코드부터 시작해서 다양하고 많은 작업을 해야하는데,

지금은 대부분의 역할이 Spring에게 맡겨졌고,

개발자가 해야하는 작업은 단 3가지 이다.

  • datasource 설정
  • sql문 작성
  • 결과 처리

이다.

 

하나씩 살펴보면

 

DataSoruce

데이터베이스와 connect 하는게 주 역할이다.

관련 클래스는

import javax.sql.DataSource;

내에 존재하고 내부 함수들을 잠깐 보면 

  Connection getConnection() throws SQLException;

  Connection getConnection(String username, String password)
    throws SQLException;

  @Override
  java.io.PrintWriter getLogWriter() throws SQLException;

  @Override
  void setLogWriter(java.io.PrintWriter out) throws SQLException;

  @Override
  void setLoginTimeout(int seconds) throws SQLException;

  @Override
  int getLoginTimeout() throws SQLException;

이런 설정들이 있고,

connection이나 log 관련 인 것을 알수 있다.

 

SQL

실제로 DB가 연결이 되면 CRUD를 할 쿼리가 필요하다.

각 DBMS에 맞는 문법으로 작성이 필요하다.

 

RowMapper

결과값을 처리하기 위한 RowMapper이다.

예전 일반 JDBC에서는 ResultSet으로 받아오고 결과 값을 매번 객체에 담아줘야하는 작업이 있었는데,

해당부분을 자동화 해주면서 간단하게 사용이 될수 있다.

 

이로써 Spring의 기능을 좀더 잘 활용하면서 개발자는 오로지 개발 영역에만 집중을 할수 있게 된다.

반응형

댓글