Skip to content

99MinSu/URECA_JDBC_Miniproject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

유레카에서 진행한 개인 미니 프로젝트 입니다

음악 관리 시스템 JDBC + SWING 사용해서 CRUD 구현

ERD

Music

MySQL 데이터베이스 생성

CREATE TABLE Artist (
    artist_id BIGINT PRIMARY KEY,
    artist_name VARCHAR(30) NOT NULL
);
CREATE TABLE Genre (
    genre_id BIGINT PRIMARY KEY,
    genre_name VARCHAR(30) NOT NULL
);
CREATE TABLE Album (
    album_id BIGINT PRIMARY KEY AUTO_INCREMENT,
    artist_id BIGINT,
    genre_id BIGINT,
    album_name VARCHAR(30) NOT NULL,
    release_date DATE,
    FOREIGN KEY (artist_id) REFERENCES Artist(artist_id),
    FOREIGN KEY (genre_id) REFERENCES Genre(genre_id)
);

CREATE TABLE Member (
    member_id BIGINT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    email VARCHAR(40) NOT NULL,
    phone VARCHAR(30) NOT NULL,
    password VARCHAR(30) NOT NULL
);

CREATE TABLE Favorite (
    member_id BIGINT,
    genre_id BIGINT,
    PRIMARY KEY (member_id, genre_id),
    FOREIGN KEY (member_id) REFERENCES Member(member_id),
    FOREIGN KEY (genre_id) REFERENCES Genre(genre_id)
);

데이터 베이스 연결 부분

캡처
mysql connector jar 파일 Classpath에 추가

1. 회원 등록할 때는 장르에 있는 데이터를 가져와 콤보박스를 선택해서 즐겨찾기에 저장된다.

캡처

2. 장르

캡처2

3. 즐겨찾기는 회원 등록 때 설정되고 수정 및 삭제도 회원 관리에서 하도록 목록만 볼 수 있게 만들었다.

캡처4

4. 앨범은 데이터에 있는 아티스트와 장르를 선택해서 등록할 수 있게 만들었다.

캡처3

5. 아티스트

캡처5

개선사항

외래키에 대해 더 공부해야되고
다른 사람들 발표를 보니 StringBuilder 사용, 디자인 패턴 사용 등 다양한 방법이 있었다.
여러 개 관리를 똑같이만 만들었는데 하나를 잡고 다양한 방법을 써봐야겠다.
추가적으로 설계를 어떻게 구현하고 백엔드적으로 어떤 방법이 더 효율적인 지 고민하는 시간을 많이 가져야겠다.

About

간단한 Swing + JDBC 음악 관리 CRUD 구현

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages