데이터베이스 입출력

현대의 애플리케이션은 대부분 데이터를 영구적으로 저장하고 관리하기 위해 데이터베이스(Database)를 사용합니다. 자바는 JDBC(Java Database Connectivity) API를 통해 다양한 관계형 데이터베이스(RDBMS)와 연동할 수 있는 표준화된 방법을 제공합니다. 이 파트에서는 자바 애플리케이션에서 데이터베이스에 연결하고, SQL을 실행하여 데이터를 조작하는 방법을 학습합니다.

JDBC란?

JDBC(Java Database Connectivity)는 자바 프로그램이 다양한 종류의 관계형 데이터베이스(RDBMS)에 접속하고 SQL문을 실행하여 데이터를 조회, 추가, 수정, 삭제할 수 있도록 해주는 자바 표준 API입니다.

  • 표준화된 방법 제공: 개발자는 JDBC 인터페이스(API)만 알면, 오라클, MySQL, MS-SQL 등 어떤 데이터베이스를 사용하더라도 동일한 코드로 개발할 수 있습니다.
  • JDBC 드라이버: 각 데이터베이스 벤더(Oracle, MySQL 등)는 자신들의 데이터베이스에 접속할 수 있도록 JDBC 인터페이스를 구현한 드라이버(Driver)를 제공합니다. 자바 프로그램은 이 드라이버를 통해 실제 데이터베이스와 통신합니다.

Oracle Database

오라클 데이터베이스(Oracle Database)는 엔터프라이즈 환경에서 가장 널리 사용되는 강력한 관계형 데이터베이스 관리 시스템(RDBMS)입니다.

  • 안정성과 성능: 대용량 데이터 처리와 높은 트랜잭션 처리에 최적화되어 있어 금융, 공공, 대기업 등 핵심 업무 시스템에서 주로 사용됩니다.
  • 표준 SQL 및 강력한 기능: 표준 SQL을 준수하며, PL/SQL과 같은 강력한 절차적 언어를 제공하여 복잡한 비즈니스 로직을 데이터베이스 내에서 처리할 수 있습니다.
  • 본 강의의 활용: 이 강의의 메인 챕터(Chapter 23)에서는 오라클 데이터베이스를 기준으로 JDBC 프로그래밍을 학습합니다.

MySQL

MySQL은 전 세계적으로 가장 인기 있는 오픈 소스 관계형 데이터베이스입니다.

  • 오픈 소스 및 무료: 무료로 사용할 수 있는 커뮤니티 버전이 제공되어 스타트업, 웹 개발, 개인 프로젝트 등에서 매우 널리 사용됩니다.
  • 경량화 및 빠른 속도: 웹 애플리케이션에 최적화되어 있어 가볍고 빠른 성능을 제공합니다.
  • 본 강의의 활용: 부록 챕터(Chapter 24)에서는 MySQL을 사용하여 JDBC 프로그래밍을 하는 방법을 다룹니다. 오라클과 비교하여 어떤 점이 다르고 같은지 확인할 수 있습니다.

학습목표

  1. JDBC의 이해: 자바 애플리케이션과 데이터베이스 간의 통신을 담당하는 JDBC의 역할과 구조를 이해합니다.
  2. DB 연결 및 해제: JDBC 드라이버를 로드하고 데이터베이스에 연결(Connection)하며, 사용 후 자원을 안전하게 해제하는 방법을 익힙니다.
  3. SQL 실행: StatementPreparedStatement를 사용하여 데이터를 조회(SELECT)하거나 변경(INSERT, UPDATE, DELETE)하는 방법을 학습합니다.
  4. 트랜잭션 관리: 데이터 무결성을 보장하기 위한 트랜잭션(Transaction)의 개념과 JDBC에서의 제어 방법을 이해합니다.

23. 데이터베이스 입출력 (Oracle)

JDBC를 사용하여 오라클 데이터베이스와 연동하는 핵심 기술을 다룹니다.

상세 학습하기

  • 23.1 JDBC 개요: JDBC의 구조와 주요 인터페이스(Connection, Statement, ResultSet 등)의 역할을 알아봅니다.
  • 23.2 DBMS 설치: 실습에 사용할 데이터베이스(Oracle 또는 MySQL)를 설치하고 설정합니다.
  • 23.3 Client Tool 설치: SQL Developer와 같은 클라이언트 도구를 설치하여 데이터베이스를 관리합니다.
  • 23.4 DB 구성: 실습에 필요한 사용자 계정, 테이블, 시퀀스 등을 생성합니다.
  • 23.5 DB 연결: 자바 코드에서 DriverManager를 사용하여 데이터베이스에 연결하는 방법을 실습합니다.
  • 23.6 데이터 저장: INSERT 문을 실행하여 데이터를 저장하는 방법을 배웁니다.
  • 23.7 데이터 수정: UPDATE 문을 실행하여 저장된 데이터를 수정하는 방법을 배웁니다.
  • 23.8 데이터 삭제: DELETE 문을 실행하여 데이터를 삭제하는 방법을 배웁니다.
  • 23.9 데이터 읽기: SELECT 문을 실행하고 ResultSet을 통해 결과 데이터를 읽어오는 방법을 배웁니다.
  • 23.10 프로시저와 함수 호출: CallableStatement를 사용하여 데이터베이스에 저장된 프로시저와 함수를 호출합니다.
  • 23.11 트랜잭션 처리: commitrollback을 사용하여 트랜잭션을 제어하는 방법을 학습합니다.
  • 23.12 게시판 구현: 앞서 배운 내용을 종합하여 콘솔 기반의 게시판 애플리케이션을 구현합니다.

24. MySQL

동일한 내용을 MySQL 데이터베이스를 사용하여 실습합니다.

상세 학습하기

서브목차