강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

heisenberg123457님의 프로필 이미지
heisenberg123457

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

H2 DB에 임의의 데이터 넣기

작성

·

1.4K

0

제가 schema.sql 파일로 테이블을 만들고, data.sql 파일로 row값을 넣었는데요.

테이블에 의미없는 데이터를 100개정도 넣어둘려 하는데, 100개를 타이핑하기에는 힘들잖아요?

그래서 같은내용의 데이터를 아이디(primary key)만 바꿔서 100개정도 넣는 쿼리문이 있나요?

답변 3

2

안녕하세요. heisenberg123457님, 공식 서포터즈 David입니다.

저는 더미데이터를 생성할 때 아래 사이트들을 이용해 나온 결과를 가공해서 data.sql 에 넣습니다.

질문자분 상황에 맞게 가공한다면 1~100까지 생성한 뒤 결과를 인텔리제이로 가져와서 멀티셀렉트 기능을 사용해 1~100까지 한 번에 복사한 뒤, insert 쿼리의 id 값 자리에 붙여넣는 방식입니다.

https://generatedata.com/

https://www.mockaroo.com/

감사합니다.

0

안녕하세요. heisenberg123457님, 공식 서포터즈 OMG입니다.

기본키가 숫자 타입이고, 키 생성전략을 DB에 위임하면 H2에서도 가능합니다.

아래의 id 생성문을 참고하시고, JPA에서는 키 생성전략을

@GeneratedValue(strategy = GenerationType.IDENTITY)로 하시면 됩니다.

아래 내용은 영한님의 스프링-입문편(무료)을 참고하였습니다.

image감사합니다.

해당내용은 테이블을 생성하는 쿼리문파일같은데요..혹시 데이터를 반복해서 넣는 쿼리문이 존재하나요?

테이블 생성 시 id를 위와같이 작성하고 동일한 insert문을 100개 작성하라는 의도로 답변드린것입니다

그 외 방법은 잘 모르겠어요^^

0

안녕하세요. heisenberg123457님, 공식 서포터즈 y2gcoder입니다.

MySQL 에서와 같이 프로시저같은 걸 이용해서 loop insert 가 가능한지 찾아봤습니다만 찾지 못했습니다.

애플리케이션 시작 시 자바 단에서 for 문을 이용해서 INSERT 하든지, 말씀하신 것처럼 수동으로 sql 문을 작성해서 미리 넣어두는 방법 밖에는 없을 것 같습니다.

혹시나 방법을 찾으면 답글을 추가해 달겠습니다.


감사합니다.

heisenberg123457님의 프로필 이미지
heisenberg123457

작성한 질문수

질문하기