inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

gradle, mysql 사용할 시 다른 점

479

gusdn85554

작성한 질문수 47

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 을 포함한 하위 패키지로 이동하고 실행해도 쿼리가 나타나지 않았습니다..

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

 

JPA spring-boot spring 웹앱 java

답변 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

 

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

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

0

OMG

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

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

0

gusdn85554

감사합니다 !!

0

gusdn85554

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

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

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

40

1

sdk 설정 오류

0

83

2

오탈자 - @Transactional

0

76

1

src/test/resources 테스트 경로 문제

0

75

1

상품 등록후 H2 db 출력 순서 바꿀 수 있나요?

0

74

1

MemberRepositoryTest 실행오류

0

98

1

boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)

1

204

2

강의 마지막 QueryDSL 사용 부분 질문있습니다

1

161

2

클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.

0

61

1

도메인 모델 패턴 vs 트랜잭션 스크립트 패턴

0

90

1

기본 생성자

0

69

1

h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.

0

109

1

멤버서비스테스트 부분에서 막힙니다.

0

188

4

실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?

0

130

1

초반에 h2 다운로드 과정 꼭 필요한가요?

0

134

2

자신 필드에도 get으로 접근하는 이유가 있을까요?

0

126

1

24분 27초 연관관계 편의 메서드 위치

0

120

1

단건 주문만 가능하게 한건 의도한 부분이신가요?

0

120

2

빌드 툴, Gradle

0

72

1

h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다

0

85

2

Repository에서 EntityManager 주입 방식 차이

0

100

1

롬복과 사용자 정의 setter 메서드

0

80

1

주문 목록 조회 fetch join 질문드립니다

0

93

1

dirty checking 질문드립니다.

0

91

1