vscode
spring sts 다시 설치 - lombok도 설치
mariaDB 설치 후 3306포트는 기존에 사용중이므로 3308포트로 설정, 비밀번호 동일

데이터베이스에 테이블 다시 생성(sql문)
기존 파일에 데이터베이스 구조를 생성하고 외래키까지 잡는 sql문이 없어 다시 만듬

기존 데이터 삽입 시 한글이 깨지는 문제 발생
처음엔 Heidisql 설정에서 mariadb를 libmysql-6.1.dll로 변경해보았으나 실패
(Incorrect string value)
-- ALTER TABLE alarm convert to charset UTF8;로 테이블을 설정해준다.
중요한 점은 테이블 생성 후 외래키 설정 전에 해주어야 제약조건에 걸리지 않고 수정된다.

새로만든 SQL문
CREATE TABLE `alarm` (`alarm_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `alarm_content` VARCHAR(255),
`alarm_date` DATE, `alarm_status` BIT(1) NOT NULL, `alarm_type` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `ask` (`ask_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `ask_answer` VARCHAR(255),
`ask_answer_date` DATE, `ask_content` VARCHAR(255), `ask_date` DATE, `ask_status` VARCHAR(255),
`ask_title` VARCHAR(255), `ask_type` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `cart` (`cart_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `cart_item_count` INT(11),
`item_code` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `complain` (`complain_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `complain_answer` VARCHAR(255),
`complain_answer_date` DATE, `complain_content` VARCHAR(255), `complain_date` DATE, `complain_status` BIT(1),
`complain_title` VARCHAR(255), `user_name` VARCHAR(255), `user_phone` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `image_file` (`file_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `file_content_type` VARCHAR(255),
`file_directory` VARCHAR(255), `file_name` VARCHAR(255), `file_size` BIGINT(20), `file_upload_date` DATE);
CREATE TABLE `item` (`item_code` VARCHAR(255) PRIMARY KEY NOT NULL, `item_capacity` VARCHAR(255),
`item_country_origin` VARCHAR(255), `item_name` VARCHAR(255), `item_price` INT(11), `item_standard` VARCHAR(255),
`item_storage` VARCHAR(255), `item_unit` VARCHAR(255), `item_unit_quantity` INT(11), `item_file_num` INT(11),
`item_major_category_num` INT(11), `item_middle_category_num` INT(11), `item_sub_category_num` INT(11));
CREATE TABLE `item_major_category` (`item_category_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
`item_category_name` VARCHAR(255));
CREATE TABLE `item_middle_category` (`item_category_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
`item_category_name` VARCHAR(255), `item_category_major_num` INT(11));
CREATE TABLE `item_sub_category` (`item_category_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
`item_category_name` VARCHAR(255), `item_category_middle_num` INT(11));
CREATE TABLE `member` (`member_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `dept_name` VARCHAR(255),
`fcm_token` VARCHAR(255), `password` VARCHAR(255), `provider` VARCHAR(255), `provider_id` VARCHAR(255),
`roles` VARCHAR(255), `store_code` INT(11), `username` VARCHAR(255));
CREATE TABLE `menu` (`menu_code` VARCHAR(255) PRIMARY KEY NOT NULL, `menu_name` VARCHAR(255), `menu_capacity` VARCHAR(255),
`menu_price` INT(11), `menu_status` VARCHAR(255), `calories` VARCHAR(255), `caffeine` VARCHAR(255),
`fat` VARCHAR(255), `natrium` VARCHAR(255), `protein` VARCHAR(255), `sugar` VARCHAR(255),
`carbohydrate` VARCHAR(255), `menu_category_num` INT(11), `menu_file_num` INT(11));
CREATE TABLE `menu_category` (`menu_category_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
`menu_category_name` VARCHAR(255));
CREATE TABLE `notice` (`notice_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `notice_content` VARCHAR(255),
`notice_date` DATE, `notice_title` VARCHAR(255), `notice_type` VARCHAR(255), `main_store_id` INT(11));
CREATE TABLE `repair` (`repair_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `repair_answer` VARCHAR(255),
`repair_answer_date` DATE, `repair_content` VARCHAR(255), `repair_date` DATE, `repair_status` VARCHAR(255),
`repair_title` VARCHAR(255), `repair_type` VARCHAR(255), `item_code` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `sales` (`sales_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `sales_amount` INT(11), `sales_count` INT(11),
`sales_date` DATE, `sales_status` INT(11), `menu_code` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `shop_order` (`order_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `imp_uid` VARCHAR(255),
`order_code` VARCHAR(255), `order_count` INT(11), `order_date` DATE, `order_delivery` VARCHAR(255),
`order_payment` VARCHAR(255), `order_state` VARCHAR(255), `item_code` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `stock` (`stock_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `stock_count` INT(11),
`stock_expiration_date` DATE, `stock_receipt_date` DATE, `item_code` VARCHAR(255), `store_code` INT(11));
CREATE TABLE `store` (`store_code` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `contract_date` DATE,
`contract_period_end` DATE, `contract_period_start` DATE, `manager_name` VARCHAR(255),
`manager_phone` VARCHAR(255), `opening_date` DATE, `owner_name` VARCHAR(255), `owner_phone` VARCHAR(255),
`store_address` VARCHAR(255), `store_address_num` VARCHAR(255), `store_close_date` VARCHAR(255),
`store_close_time` TIME, `store_name` VARCHAR(255), `store_open_time` TIME, `store_phone` VARCHAR(255),
`store_status` VARCHAR(255), `member_num` INT(11));
CREATE TABLE `wish_item` (`wish_item_num` INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, `item_code` VARCHAR(255),
`store_code` INT(11));
-- 한글 insert 시 테이블 설정
ALTER TABLE alarm convert to charset UTF8;
ALTER TABLE ask convert to charset UTF8;
ALTER TABLE cart convert to charset UTF8;
ALTER TABLE complain convert to charset UTF8;
ALTER TABLE image_file convert to charset UTF8;
ALTER TABLE item convert to charset UTF8;
ALTER TABLE item_major_category convert to charset UTF8;
ALTER TABLE item_middle_category convert to charset UTF8;
ALTER TABLE item_sub_category convert to charset UTF8;
ALTER TABLE member convert to charset UTF8;
ALTER TABLE menu convert to charset UTF8;
ALTER TABLE menu_category convert to charset UTF8;
ALTER TABLE notice convert to charset UTF8;
ALTER TABLE repair convert to charset UTF8;
ALTER TABLE sales convert to charset UTF8;
ALTER TABLE shop_order convert to charset UTF8;
ALTER TABLE stock convert to charset UTF8;
ALTER TABLE store convert to charset UTF8;
ALTER TABLE wish_item convert to charset UTF8;
-- 외래키 설정
ALTER TABLE alarm ADD CONSTRAINT alarm_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE ask ADD CONSTRAINT ask_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE cart ADD CONSTRAINT cart_item_code FOREIGN KEY (item_code) REFERENCES item(item_code);
ALTER TABLE cart ADD CONSTRAINT cart_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE complain ADD CONSTRAINT complain_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE item_middle_category ADD CONSTRAINT item_category_major_num FOREIGN KEY (item_category_major_num) REFERENCES item_major_category(item_category_num);
ALTER TABLE item_sub_category ADD CONSTRAINT item_category_middle_num FOREIGN KEY (item_category_middle_num) REFERENCES item_middle_category(item_category_num);
ALTER TABLE item ADD CONSTRAINT item_file_num FOREIGN KEY (item_file_num) REFERENCES image_file(file_num);
ALTER TABLE item ADD CONSTRAINT item_major_category_num FOREIGN KEY (item_major_category_num) REFERENCES item_major_category(item_category_num);
ALTER TABLE item ADD CONSTRAINT item_middle_category_num FOREIGN KEY (item_middle_category_num) REFERENCES item_middle_category(item_category_num);
ALTER TABLE item ADD CONSTRAINT item_sub_category_num FOREIGN KEY (item_sub_category_num) REFERENCES item_sub_category(item_category_num);
ALTER TABLE menu ADD CONSTRAINT menu_category_num FOREIGN KEY (menu_category_num) REFERENCES menu_category(menu_category_num);
ALTER TABLE menu ADD CONSTRAINT menu_file_num FOREIGN KEY (menu_file_num) REFERENCES image_file(file_num);
ALTER TABLE notice ADD CONSTRAINT main_store_id FOREIGN KEY (main_store_id) REFERENCES member(member_num);
ALTER TABLE repair ADD CONSTRAINT repair_item_code FOREIGN KEY (item_code) REFERENCES item(item_code);
ALTER TABLE repair ADD CONSTRAINT repair_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE sales ADD CONSTRAINT menu_code FOREIGN KEY (menu_code) REFERENCES menu(menu_code);
ALTER TABLE sales ADD CONSTRAINT sales_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE shop_order ADD CONSTRAINT shop_order_item_code FOREIGN KEY (item_code) REFERENCES item(item_code);
ALTER TABLE shop_order ADD CONSTRAINT shop_order_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE stock ADD CONSTRAINT stock_item_code FOREIGN KEY (item_code) REFERENCES item(item_code);
ALTER TABLE stock ADD CONSTRAINT stock_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE wish_item ADD CONSTRAINT wish_item_item_code FOREIGN KEY (item_code) REFERENCES item(item_code);
ALTER TABLE wish_item ADD CONSTRAINT wish_item_store_code FOREIGN KEY (store_code) REFERENCES store(store_code);
ALTER TABLE store ADD CONSTRAINT member_num FOREIGN KEY (member_num) REFERENCES member(member_num);
-- 외래키가 있는 테이블 내용 삭제 시 0으로 변경 후 삭제하고 다시 1로 바꾸기
SET FOREIGN_KEY_CHECKS = 0;
이미지 파일 가져오기
spring에서 application.property에 /upload 경로로 이미지를 가져옴
/ 가 절대 경로인데 spring에서는 C:\ 같은 파일 루트 경로를 의미, 로컬 파일 편집기에 해당 위치에 사진이 들어간 upload파일을 넣었으나 뜨지 않음
-> 현재 spring 프로젝트가 D:\에 있으므로 절대경로가 D:\ 였던 문제, 로컬 파일 편집기에 해당 위치에 upload 파일 넣었더니 사진 뜨게 됨

프론트, 백엔드 연결 확인

연결 후 데이터베이스, 백엔드, 프론트까지 실행 후 데이터를 넣어보았다.

데이터베이스에 잘 들어가는 것을 확인할 수 있었다.
'Project > 2024WebFinalProject' 카테고리의 다른 글
| AWS EC2 SpringBoot + React.js 배포(12/13) (1) | 2024.12.13 |
|---|---|
| 최종 결과물(12.17) (1) | 2024.12.09 |
| 웹 실시간 알림(Firebase)(11/25~11/27) (1) | 2024.11.25 |
| Back-end 개발(11/18~12/11) (1) | 2024.11.18 |
| 퍼블리싱(react.js)(11.08~11.18) (2) | 2024.11.08 |