[SpringBoot] JDBC 사용하기

2025. 5. 14. 23:38· BackEnd/SpringBoot
목차
  1. 0.JDBC란
  2. 1.의존성
  3. 2.jdbcTemplate
728x90


0.JDBC란

SQL을 실행하여 결과를 처리할 수 있도록 해주는 자바 표준 API이다.
주로 JPA 로 고수준으로 사용하긴하지만 JPA 내부도 결국 JDBC로 구현되어 있기 때문에 이번기회에 한번 사용해 보았다.
DriverManager를 통해서 DB연결을 한다.

 

spring.datasource.driver-class-name으로 JDBC 드라이버 클래스를 때문에 DB연결을 위해 설정해줘야하는데
mySQL의 경우 com.mysql.cj.jdbc.Driver이다.
spring:
 datasource:
   url: jdbc:mysql://localhost:3306/bcsd?serverTimezone=Asia/Seoul
   username: 
   password: 
   driver-class-name: com.mysql.cj.jdbc.Driver

 

 

 

1.의존성

JDBC의 의존성은 다음을 추가하면 사용할수있다.
implementation 'org.springframework.boot:spring-boot-starter-jdbc'

 

 

 

 

2.jdbcTemplate

JDBC를 사용하기 위해 제공되는 클래스이다. Spring JDBC 모듈에 포함되어있다.
@Autowired
private JdbcTemplate jdbcTemplate;

 

 

 

query: 여러 행 조회
queryForObject: 단일 행 조회
update: INSERT, UPDATE, DELETE 수행

주로 이 3개의 메서드들을 사용하며 매개변수는 다음과같다.
jdbcTemplate.queryForObject(sql, RowMapper, 인자들...);

 

 

 

RowMapper은 SQL로 얻은 결과값을 개체로 바꾸기 위해 사용한다.
다음처럼 sql, RowMapper, 인자... 들을 통해 DB에서 원하는 데이터를 얻어올수있다.
public Optional<Member> findById(Long id) {
    String sql = "SELECT id, name, email, password FROM member WHERE id = ?";
    List<Member> members = jdbcTemplate.query(sql, memberRowMapper(), id);
    return members.stream().findFirst();
}
private RowMapper<Member> memberRowMapper() {
        return (rs, rowNum) -> new Member(
                rs.getLong("id"),
                rs.getString("name"),
                rs.getString("email"),
                rs.getString("password")
        );
    }

 

 

 

728x90

'BackEnd > SpringBoot' 카테고리의 다른 글

[SpringBoot] DI, IOC, Bean 에 대해  (0) 2025.05.20
[SpringBoot] MySQL springBoot 연결하기  (0) 2025.05.14
[SpringBoot] N+1 문제란, 지연로딩, 즉시로딩  (0) 2025.05.11
  1. 0.JDBC란
  2. 1.의존성
  3. 2.jdbcTemplate
'BackEnd/SpringBoot' 카테고리의 다른 글
  • [SpringBoot] React + SpringBoot + JWT + Stomp으로 WebSocket 채팅 구현하기
  • [SpringBoot] DI, IOC, Bean 에 대해
  • [SpringBoot] MySQL springBoot 연결하기
  • [SpringBoot] N+1 문제란, 지연로딩, 즉시로딩
아사_
아사_
프로그래밍 공부한거 정리해두는 메모장 블로그
아사_
개발공부 블로그
아사_
전체
오늘
어제
  • 분류 전체보기
    • FrontEnd
      • html
      • css
      • JavaScript
      • Node.js
      • React
      • React Native
    • BackEnd
      • SpringBoot
      • FastAPI
      • PHP
      • Flask
      • supabase
    • Language
      • Python
      • JAVA
      • Kotlin
      • C++
    • Development Tools
      • AWS
      • GIT,GITHUB
      • Docker
      • 메시지 브로커
      • 기타 도구,플랫폼
    • Computer Science
      • 개발지식
      • Server&Network
      • Algorithm&DataStructure
      • Security
      • DataBase
      • OS
    • AI
    • 기타
      • 잡다
      • Android
      • 도서
    • 클론코딩
      • 생활코딩 Express.js
      • 점프 투 장고
      • 생활코딩 Node.js
    • 프로젝트
      • DevQuest

인기 글

최근 글

250x250
hELLO · Designed By 정상우.v4.2.2
아사_
[SpringBoot] JDBC 사용하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.