[JDBC]

Wonho·2025년 1월 9일

1. What's JDBC

Java Database Connectivity : JAVA 언어에서 DATABASE에 연결하여 SQL문을 실행하여 데이터를 출력하기 위한 API

장점 : 다양한 DATABASE와 상호작용 가능 (데이터베이스 독립성 제공)


"JDBC의 작동 과정"

드라이버 로드:

  1. Class.forName("드라이버 클래스명")을 사용해 드라이버를 로드 (Java 6 이후로는 자동 로드 지원)
  1. 데이터베이스 연결: DriverManager.getConnection(url, user, password) 메서드를 사용해 데이터베이스에 연결
  1. SQL 실행: Statement 또는 PreparedStatement 객체를 생성하고 SQL 문을 실행
  1. 결과 처리: ResultSet 객체를 사용해 쿼리 결과를 처리

  2. 리소스 닫기: 사용한 Connection, Statement, ResultSet 객체를 닫아 리소스를 해제

2. DAO, DTO, CONNECTION

DAO : 실제로 DATABASE에 접근하여 DATA에 접근하기 위한 객체, CRUD 및 SQL 실행을 담당

DTO : DATA를 전송하는 객체, 로직을 따로 구현하지 않으며 DATA를 보관하는데 초점

CONNECTION : JDBC에서 DATABASE에 연결을 나타내는 객체, SQL문을 실행하기 위한 객체

  • Connection을 이용해서 insert문을 실행
  • PrepareStatement : 사전 준비된 SQL문을 실행하는 문구

3. 외전 : Service는 왜 쓸까?

Container에 전체적으로 작업하면 어떨까 라는 생각을 하였다. 하지만 큰 프로그램을 제작하게 된다면 그 기능은 점차 많아질 것이다. 그렇기에 유지보수성을 위해서 Service에 대해 설명하고자 한다.

DAO에서 만들어놓은 메소드들을 활용하여 Contatiner로 바로 쓰게 된다면 필요한 값들을 바로바로 찾아 쓰기 어려운 상황이 생길 것이다.

그렇기에 Service에 필요한 값들을 모아놓고 그 기능들을 사용하는 것이다.

  • Example Service code

이처럼 필요한 기능을 수정하고, 생성하는 Service layer를 사용한다면 유지보수 관리에 용이해질 것이다.

profile
Dev.Yoon

0개의 댓글