Intellij) JDBC 프로젝트 (1) Java, DB 설치 + Docker Compose로 쉽게 해 보기
Amazon Corretto 21, Docker Desktop 설치
Simple JDBC Project (kor)
(1) Java, DB 설치 + Docker Compose로 쉽게 해 보기
(2) 프로젝트 생성, Postgresql 컨테이너 게시
(3) Flyway 도입하기
(4) JDBC 연결하기
JDBC란 무엇입니까?
20세기 고대의 개발자들은 데이터베이스의 종류에 따라 데이터베이스를 다루는 코드를 각기 다르게 사용하는 전사의 피가 흐르고 있었습니다.
그들이 프로젝트에서 데이터베이스를 사용하기 위해서는 데이터베이스마다 고유한 API를 사용하면서, 수많은 데이터베이스에 맞서기 위하여 새로운 전략과 기술을 마련해야 했습니다. 코드는 데이터베이스에 따라 변형되어야 했고, 프로젝트마다 새로운 언어와 도구를 배우는 것은 일상이었습니다.
그러나 이 모든 것이 1990년대 중반, Java가 JDK 1.1에서 JDBC를 소개하면서 바뀌기 시작했습니다. 이 표준화된 데이터베이스 접속 인터페이스는 개발자들이 다양한 데이터베이스에 일관된 방식으로 접근할 수 있게 해주었고, 데이터베이스의 교체도 한결 수월해졌습니다. 무엇보다, JDBC는 코드의 이식성과 유지보수성을 대폭 향상시켜, 개발자들이 더 중요한 문제 해결에 집중할 수 있는 환경을 마련하였습니다. 이제 개발자들은 다양한 데이터베이스 연결 기술을 마스터하는 것보다는, 자신들의 애플리케이션 로직을 강화하고 사용자 경험을 향상시키는 데 더 많은 시간을 할애할 수 있게 되었습니다.
개발자들은 이전의 전투적인 접근 방식에서 벗어나, 보다 협력적이고 통합적인 방식으로 데이터베이스에 접근할 수 있게 되었습니다. 이제 데이터베이스 선택에서 대전쟁의 시대는 끝나고, 평화의 시대가 시작된 것입니다.
썬마이크로시스템즈는 여전히 전사적(Enterprise) 상품도 판매하는 전사들이었으나, 그들이 이끌어 낸 평화는 많은 개발자의 귀감이 되었습니다.
이 글이 제시하는 것은 무엇입니까?
이 글은 초보자를 대상으로 하며, 간단하게 JDBC 프로젝트를 만들어 볼 수 있도록 안내합니다.
이 글은 자바와 데이터베이스 연결 프로젝트를 만드는 과정을 설명하면서, 다소간의 설계 관점과 편리한 작업 도구, 작업 방식을 일부 제안합니다.
프로젝트마다 데이터베이스를 간단하게 나누어서 사용할 수 있습니다.
Docker Compose를 통해 생각보다 더 쉽게 데이터베이스를 설치할 수 있습니다. 프로젝트마다 데이터베이스를 간단히 구분해서 사용할 수 있습니다.
자바 프로그램을 실행할 때 데이터베이스 스키마가 자동으로 구축되도록 할 수 있습니다.
Flyway 사용으로, 자바 프로그램을 실행만 해도 필요한 DDL이 순서대로 동작하여 데이터베이스 테이블이 모두 자동으로 생성되도록 하고, 필요한 시드 데이터나 더미 데이터를 넣을 수 있습니다.
(DDL: Create문, Drop문, Alter문 등.)UI와 비즈니스 로직(데이터 입출력 로직)을 구분해서 관리합니다.
UI를 표현하기 위한 코드와 비즈니스 로직(데이터 입출력)을 구분합니다.
절대 경로 라우팅
어느 메뉴 위치에서든 다른 메뉴로 편하게 이동할 수 있도록 절대경로 시스템을 지원합니다.
자바 문법의 활용을 참고합니다.
그간 사용해 왔을 자바 문법을 어떻게 활용하면 좋을지 참고할 수 있습니다. 기본적인 설계 관점을 일부 보태어 공부하게 됩니다.
이 프로젝트의 전제 조건 Prerequisites
자바와 SQL의 기초 문법을 이해할 수 있는 분들을 대상으로 합니다.
윈도우에서 도커 데스크톱을 사용하기 위해서는 윈도우 10 Pro/Enterprise/Home에서 19044 버전 이상이어야 합니다. (아주 오래된 사용자가 아니라면 대부분 이 버전보다 높은 버전입니다.)
도커 데스크톱을 설치하고 나면 컴퓨터를 재시작해야 하니, 작업 중인 파일은 미리 저장해 두세요.
JDK 설치
SDK란 소프트웨어 개발에 필요한 키트입니다. 그중 자바는 JDK라는 SDK를 사용합니다.
JDK의 LTS 버전(장기 지원 버전)은 8, 11, 17, 21입니다. LTS 버전과 안정화 버전이 항상 같은 표현은 아니지만, 일반적으로 안정화 버전의 결정은 LTS 버전 중에서 하게 됩니다.
OpenJDK 설치
상용 프로그램 개발에서 OpenJDK를 사용하면 자바 프로그램 개발과 배포가 무료로 가능합니다. 대신 일부 클라우드 플랫폼(CSP; Cloud Service Provider)은 자신들이 만든 OpenJDK를 상업적으로 사용하려면 자신들의 클라우드를 사용하도록 제약을 갖고 있을 수 있습니다.
AWS는 아마존에서 서비스하는 클라우드 플랫폼입니다. 가장 큰 클라우드 플랫폼이기도 합니다. 우리는 아마존에서 만든 Amazon Corretto 21(클릭)을 설치할 겁니다.
설치가 완료되면 경로에 상관없이 '새 터미널'을 열고 다음 명령어를 입력하여 우리가 설치한 OpenJDK 버전이 인식되는지 확인합니다.
java --version
기존에 열려 있던 터미널에서 입력 시 인식되지 않은 것처럼 보일 수 있습니다. 이때는 새 터미널을 열고 다시 명령어를 입력해 봅니다. 만약 설치 파일이 아닌 압축 파일로 설치했다면 환경변수 등록을 수동으로 해 주어야 합니다. 설치 파일로 설치한 경우 환경변수 PATH에 자바 bin 폴더가 등록됩니다.
Docker Desktop 설치
우리는 DB 등 프로젝트에서 연동에 필요한 것들을 로컬(개발자의 컴퓨터)에 설치할 때, 아주 간편하게 Docker Compose라는 것을 사용할 겁니다. 도커의 개념을 모른다고 해서 반드시 사용할 수 없는 것은 아닙니다.
Docker Compose를 설치하는 가장 편한 방안이 Docker Desktop(클릭)을 설치하는 것입니다.
모두 설치하고 나면 첫 실행을 해야 합니다. 윈도우에서는 도커 데스크톱을 처음 실행하는 과정에서 다음 명령을 요구할 수도 있습니다. 또 컴퓨터를 다시 시작해야 할 수 있습니다.
wsl --update
첫 실행이 완료되면 도커 컴포즈를 사용할 준비가 되었습니다. 도커 데스크톱은 실행된 상태로 둡니다. (창은 닫아도 됩니다. 백그라운드에서 실행되고 있어야 합니다.)
이것으로 DB를 설치하는 과정이 매우 단순해지고, 프로젝트마다 다른 DB를 쉽게 택할 수 있습니다. 즉 내 컴퓨터에 여러 개의 데이터베이스를 설치하고 운영하는 것과 비슷한 효과를 얻습니다. 사용하지 않는 DB는 꺼 두고, 사용하는 DB만 켜 둔 상태로 사용할 수도 있습니다.
DB 설치는 프로젝트마다 따로 할 수 있도록, 프로젝트 생성 후 이어서 설명하겠습니다.
Next >