데이터베이스 입출력
현대의 애플리케이션은 대부분 데이터를 영구적으로 저장하고 관리하기 위해 데이터베이스(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 프로그래밍을 하는 방법을 다룹니다. 오라클과 비교하여 어떤 점이 다르고 같은지 확인할 수 있습니다.
학습목표
- JDBC의 이해: 자바 애플리케이션과 데이터베이스 간의 통신을 담당하는 JDBC의 역할과 구조를 이해합니다.
- DB 연결 및 해제: JDBC 드라이버를 로드하고 데이터베이스에 연결(Connection)하며, 사용 후 자원을 안전하게 해제하는 방법을 익힙니다.
- SQL 실행:
Statement와PreparedStatement를 사용하여 데이터를 조회(SELECT)하거나 변경(INSERT, UPDATE, DELETE)하는 방법을 학습합니다. - 트랜잭션 관리: 데이터 무결성을 보장하기 위한 트랜잭션(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 트랜잭션 처리:
commit과rollback을 사용하여 트랜잭션을 제어하는 방법을 학습합니다. - 23.12 게시판 구현: 앞서 배운 내용을 종합하여 콘솔 기반의 게시판 애플리케이션을 구현합니다.
24. MySQL
동일한 내용을 MySQL 데이터베이스를 사용하여 실습합니다.
상세 학습하기
- 24.1 MySQL 개요 및 설치: MySQL의 특징을 이해하고 설치합니다.
- 24.2 MySQL JDBC 연결: MySQL JDBC Driver를 이용하여 연결하는 방법을 배웁니다.
- 24.3 MySQL 데이터 처리: MySQL에서의 데이터 CRUD 작업을 실습합니다.
서브목차