현재 스프링 배치 (https://github.com/samuelwilsone/filmdata)를 사용하여 XML에서 MySQL로 데이터를 가져 오는 응용 프로그램을 개발 중입니다.많은 테이블에 데이터를 삽입하고 관계가 중복되지 않도록하는 방법에 대해 문의하십시오.
내가 5 개 테이블 (배우, 감독, 영화, film_actors, film_directors)가 :
는이 그래서 당신은 방법을 아래에 몇 가지 문제를 해결하는 나를 인도시겠습니까 나는 스프링 배치 함께 일하고 있어요 이번이 처음이다. 각 디렉터는 1 개 이상의 영화를 가질 수 있으므로 새 디렉터를 "디렉터"테이블에 삽입하고 "film_directors"테이블에 삽입하는 데 사용할 아이디를 얻는 프로그램을 구현하고 싶습니다. 디렉터가 이미 존재하면 프로그램은 id를 가져 와서 "film_directors"테이블에 삽입합니다. 배우도 비슷합니다.
예 :이 개 파일 (AVATAR.xml, TITANIC.xml)와
, 나는이 같은 데이터베이스에 삽입 할 :
--- Table "films":
AVATAR, AVATAR 2009, 7.9
TITANIC, TITANIC 1997, 7.7
--- Table "director":
1, James Cameron
--- Table "film_directors":
AVATAR, 1
TITANIC, 1
우리는 두 번째 시간에 프로그램을 실행하면 , 그것은 중복 데이터 (데이터가 이미 데이터베이스에 존재하기 때문에) 오류가 발생합니다. 어떻게 이것을 피할 수 있습니까?
귀하의 도움에 감사드립니다.
예, 이해하고 있습니다. 그러나 첫 번째 문제는 "director"테이블에 먼저 삽입하고 "films"및 "film_director"에 삽입 할 ID를 얻는 방법은 무엇입니까? 너 나 좀 도와 줄 수있어? – Samuel