인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

gusdn85554님의 프로필 이미지

작성한 질문수

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

gradle, mysql 사용할 시 다른 점

작성

·

431

0

안녕하십니까 강사님 

강의에서는 maven과 H2를 사용하여 저는 gradle과 mysql을 사용해보고 싶어서 혼자 해봤습니다.

만약 강의와 관련이 없는 내용을 여쭤본 것이면 정말 죄송합니다,, 다음부턴 여쭤보지 않겠습니다!!

코드입니다.

https://drive.google.com/file/d/1esoISoxwWk7lZT35p4d-HGImt0OxvhI4/view?usp=sharing

 

실행결과창입니다.

mysql database와 연결되어있습니다.

 

DB characterset도 utf8로 했습니다.

 

localhost:8080 들어가면 문자열은 잘 나옵니다!!

근데 도대체 강사님께서 강의에서 해주신 것처럼 sql 쿼리가 나가지 않는 것인가요?

build.gradle, application.properties를 처음에 의심하여 구글링을 통해 수 없이 많이 바꿨지만 진전이 없었습니다.

QnA를 보고 패키지 구조 상에 문제가 있을 수도 있다고 하셔서 SpringBootApplication 을 포함한 하위 패키지로 이동하고 실행해도 쿼리가 나타나지 않았습니다..

어느 부분이 잘못된 것인지 정말 정말 알고 싶습니다..

 

답변 3

1

OMG님의 프로필 이미지

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

1. @Table(name="MEMBERS") 추가 (MEMBER가 mysql 예약어여서 테이블 생성이 안되네요)

 

@Entity
@Table(name = "MEMBERS")
public class Member {

@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "MEMBER_ID")
private Long id;
private String email;

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}
}

 

 

2. Member클래스 및 패키지 위치 변경 (runningmate와 동일한 뎁스에 두시면 안되고 @SpringBootApplication이 붙은 클래스와 같은 뎁스에 놓으셔야 합니다.(@ComponentScan의 대상)

3. spring.jpa.hibernate.ddl-auto=create 추가

 

# MySQL 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

## DB Source URL
spring.datasource.url=jdbc:mysql://localhost:3306/test3?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul

## DB username
spring.datasource.username=root

## DB password
spring.datasource.password=root

spring.jpa.hibernate.ddl-auto=create
spring.jpa.show_sql=true
spring.jpa.properties.hibernate.format_sql=true

제가 사용하는 mysql root암호로 바꿨고, 저도 코드 수정하면서 찾느라 일부 다른 부분이 있을 수 있습니다.(크게 차이나지는 않을테니 다른 부분이 있다면 비교하여 확인해보시면 될 거 같습니다.)

 

4.build.gradle 코끼리 버튼 클릭

build.gradle의 코드는 추가하거나 삭제하지는 않았고 열어봤는데 warning 메시지 출력되는 상태 + build.gradle의 코끼리 버튼이 활성화되어 있어 한번 클릭하였습니다.

 

5. 스키마 생성

 

 

mysql 쿼리 발생확인

 

감사합니다.

0

gusdn85554님의 프로필 이미지
gusdn85554
질문자

 

어제 10시간동안 오류를 찾아 다녔는데.. 해결하지 못하고 마지막 보루라고 생각하고 여쭤봤는데 해결할 수 있어 너무 감사합니다..

mysql 예약어 때문에 테이블 생성이 계속해서 안된 것 같습니다.. 너무너무 감사합니다 OMG님

OMG님의 프로필 이미지

해결 되었다니 다행이네요.

토이프로젝트 화이팅하세요 :)

gusdn85554님의 프로필 이미지
gusdn85554
질문자

감사합니다 !!

0

gusdn85554님의 프로필 이미지
gusdn85554
질문자

OMG님 너무나 친절한 답변 감사합니다 

바로 실행해보고 결과 보고 드리겠습니다!!