███████╗ ███╗ ███╗ █████╗ ████████╗███████╗ █████╗ ███████╗██╗ ██╗
██╔════╝ ████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗██╔════╝╚██╗ ██╔╝
█████╗█████╗██╔████╔██║███████║ ██║ █████╗ ███████║███████╗ ╚████╔╝
██╔══╝╚════╝██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██╔══██║╚════██║ ╚██╔╝
███████╗ ██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██║ ██║███████║ ██║
╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝
2024-1 Database TEAM07
이대생을 위한 맛집 EASY하게 찾기!
콘솔로 구현한 이대 맛집 데이터베이스 응용 프로그램입니다.
default.mp4
| 프로젝트 명 | 개발기간 | 프로젝트 성격 | 개발인원 |
|---|---|---|---|
| E-MATEASY | 04.30 ~ 06.07 | JAVA 콘솔 프로젝트 | 5명 |
| 역할 | 기능 |
|---|---|
| User | 유저 로그인, 회원가입 |
| 맛집, 메뉴 데이터 검색/조회 | |
| 리뷰 추가 및 조회 | |
| Admin | 어드민 로그인 |
| 맛집, 메뉴, 리뷰, 유저 데이터 조회 | |
| 맛집, 메뉴, 리뷰, 유저 데이터 추가 | |
| 맛집, 메뉴, 리뷰, 유저 데이터 수정, 삭제 |
| 개발언어 | 버전관리 | 개발도구 |
|---|---|---|
| Java | Github, Git | IntelliJ IDE |
- Java 개발 키트 (JDK): 시스템에 JDK가 설치되어 있는지 확인하세요.
- JDBC 드라이버: Mysql JDBC 드라이버를 다운로드하세요. (MySQL JDBC 드라이버)
- 데이터베이스 관리 시스템 (DBMS): 사용 중인 DBMS가 실행 중인지 확인하세요. (MySQL DBMS)
-
데이터베이스 생성:
- sql 폴더로 이동하세요.
- Mysql DBMS를 실행하고
create.sql을 사용하여 데이터베이스를 생성하세요. - DBMS에서 사용자(DB2024TEAM07) 생성 쿼리를 실행하세요.
CREATE USER DB2024TEAM07 IDENTIFIED BY 'DB2024TEAM07'; -
개발 환경 설정:
- 원하는 Java IDE를 열어주세요 (예: IntelliJ IDE, Eclipse).
- 프로젝트를 가져오세요.
-
JDBC 연결 설정:
- 프로젝트 의존성에 JDBC 드라이버를 추가하세요.
- JDBC 연결을 설정하세요 (데이터베이스 URL, 사용자명, 비밀번호).
static final String DB_URL = "jdbc:mysql://localhost:3306/DB2024TEAM07"; static final String USER = "DB2024TEAM07"; static final String PASS = "DB2024TEAM07"; -
Main 클래스 실행:
- 프로젝트의 src 폴더에서
DB2024TEAM07_Main을 찾으세요. - 이 클래스의 main 메서드를 실행하여 애플리케이션을 시작하세요.
- 프로젝트의 src 폴더에서
📂 src
└── com
├── app
│ ├── DB2024TEAM07_Main # 프로그램 실행 진입점
│ ├── DB2024TEAM07_UserMain # 유저 메인 화면
│ └── DB2024TEAM07_AdminMain # 관리자 메인 화면
├── jdbc
│ ├── database
│ │ ├── DB2024TEAM07_Database # 데이터베이스 연결 및 공통 작업 처리
│ │ ├── DB2024TEAM07_UserDAO # User 테이블 CRUD 작업 처리
│ │ ├── DB2024TEAM07_RestaurantDAO # Restaurant 테이블 CRUD 작업 처리
│ │ ├── DB2024TEAM07_ReviewDAO # Review 테이블 CRUD 작업 처리
│ │ └── DB2024TEAM07_MenuDAO # Menu 테이블 CRUD 작업 처리
│ ├── model
│ │ ├── DB2024TEAM07_User # 모델 클래스 (DTO)
│ │ ├── DB2024TEAM07_Restaurant # 모델 클래스 (DTO)
│ │ ├── DB2024TEAM07_Review # 모델 클래스 (DTO)
│ │ └── DB2024TEAM07_Menu # 모델 클래스 (DTO)
│ └── view
│ ├── DB2024TEAM07_ResReviewVO # Restaurant, Review 뷰 클래스
│ └── DB2024TEAM07_UserVO # User 뷰 클래스
└── manager
├── DB2024TEAM07_RestaurantManager # 식당 관련 비즈니스 로직 처리
├── DB2024TEAM07_MenuManager # 메뉴 관련 비즈니스 로직 처리
├── DB2024TEAM07_ReviewManager # 리뷰 관련 비즈니스 로직 처리
└── DB2024TEAM07_UserManager # 유저 관련 비즈니스 로직 처리
-
총 4개의 Entity로 구성됨.
-
User: E-MATEASY를 사용하는 유저들의 정보
-
Menu: E-MATEASY에 등록되어있는 메뉴들의 정보
-
Restaurant: E-MATEASY에 등록되어 있는 식당들의 정보
-
Review: E-MATEASY에 등록되어 있는 리뷰들의 정보
-
-
User_Review :한 명의 사용자는 여러개의 리뷰를 등록할 수 있으므로 일대다(One-to-Many) 관계이다.
-
Restaurant_Menu :하나의 식당은 여러 개의 메뉴를 가질 수 있으므로 일대다(One-to-Many) 관계이다.
-
Restaurant_Review :하나의 식당은 여러 개의 리뷰를 가질 수 있으므로 일대다(One-to-Many) 관계이다.
-
Menu_Review :하나의 메뉴에 여러개의 리뷰가 존재하므로, 일대다(One-to-Many) 관계이다.
-
Review_Menu_Res_Mapping :여러 식당에 여러 메뉴에 대한 여러 리뷰가 존재할 수 있으므로 3진 다대다(Many-to-Many) 관계이다.
| 고은서 | 김민서 | 조서정 | 차현주 | 한사랑 |
|---|---|---|---|---|
| @cannes7 | @Min354 | @s2eojeong | @chacha091 | @Sarang-Han |