정리노트/팀프로젝트

[팀 프로젝트] 24.03.11. 노트

망고고래 2024. 3. 11. 17:58

오늘 할일

 

1. DB 테이블 다시 만들기

지금은 숙소/관광지/식음료/체험 카테고리별로 테이블이 따로따로 만들어져있다. 그런데 여행코스를 관리하려면 다 합쳐져있는 테이블이 있는 게 나을 것 같다.

①테이블이 나눠져있을 경우

코스 스케줄에서 contetSeq 취득→카테고리별 contentSeq를 모아놓은 배열에 해당 값이 있는지 확인→해당하는 값이 있는 테이블에서 정보 얻어옴

②테이블이 합쳐져있을 경우

코스 스케줄에서 contentSeq 취득→테이블에서 정보 얻어옴

 

API가 카테고리별 또는 지역별로 나눠서 조회하게 되어있어서 나도 카테고리별로 했는데 꼭 제공하는 방식 그대로 만들어야 하는 건 아니었다.

 

1) 새 테이블 작성 ✔

2) API DB에 재연결 ✔

3) 각 Repository의 SQL문 수정 ✔

4) 정상 작동 확인 ✔

 

삼척해양레일바이크 주소가 두 개다... 왜...... 뷰&지도 수정 필요

 

 

2. 코스 정보 출력

이걸 어떤 식으로 출력하지...?

 

코스 도메인에는 contentSeq 배열이 있다.

①페이지 이동할 때 컨트롤러에 1일차/2일차/3일차 contentSeq 배열 전달(페이지에서 1일차/2일차/3일차 선택할 때마다 ajax 실행, body onload시 1일차 실행)

- ajax로 컨트롤러 요청하면 그 페이지에 있는 model 사용할 수 있나? ← x

- 일차별로 배열 전달하지 말고 전부 전달하고 다 가져와서 탭 방식으로 보여주는 것만 제한하자

- 여기서 막힘.....배열 값이 전달이 안 된다

- 배열 값을 전달하지 말고 DB에서 새로 가져올까

②Repository에서 contentSeq별 정보 가져옴

③JSON 객체에 저장, JSON 객체 배열 만들기

④JSON 객체 배열 페이지에 전달

⑤배열에서 정보 꺼내서 출력

 

※RowMapper 사용시 주의사항

도메인의 변수 개수와 테이블의 열 개수가 다르면 'select * from table'은 사용할 수 없다.

도메인에 테이블에서 가져온 값을 가공해서 저장하는 변수를 만들었더니 사용할 수 없었다.

 

String 값이 담긴 배열을 여기저기 전달하는데 확인해보니 JSP로 전해졌을 때부터 값이 제대로 출력되지 않았다. 그래서 배열을 전달하지 않고 PK인 contentNum을 전달해서 새로 값을 얻어오기로 했다.

		//course 정보 저장...어떻게 하지...
		//코스 사이 정보→코스 스케줄보다 개수가 하나 적음
		//0-1 1-2 2-3 식으로 객체배열로 저장해놓고 출력할 때 사이사이에 넣음
		//contentSeq 배열 상태→각 contentSeq별 LatLng 취득
		//List<LatLng> latLngList→for문으로 네이버 API
			//for(int i = 1; i<latLngList.length; i++)
			//{latLngList[i - 1] latLnglist[i] 두 개로 API 돌리기