-
Spring Boot + MySQL 연동(feat. Spring initializr)프로젝트/게시판 프로젝트 2022. 4. 26. 02:19728x90
Proejct : Gradle Project
Language : Java
Packaging : Jar(REST API server로 만들기 때문에 JSP필요 x) - Spring 문서에서도 JSP를 피하라고 명시
Java : 11(16으로 변경해서 사용 예정)
Dependencies : Lombok, Spring Web, Spring Data JPA, MySQL Driver
이제 하단의 GENERATE를 눌러보겠습니다.
압축을 풀어주고 Anthill 폴더를 C:\intellij폴더 안에 넣어주겠습니다
이후에 Intellij를 실행!
File -> Open... 선택
Anthill의 build.gradle 선택하고 OK
Open as Project 클릭
Trust Project 클릭
This Window 클릭
프로젝트를 시작하고 종속성들을 다운로드하는 동안 잠시 기다려줍니다. (1분 정도 걸린 것 같네요)
build.gradle을 더블클릭하여 설정들이 잘 들어왔는지 확인합니다.
저는 Java16을 사용하고 있어서 sourceCompatibility = 16으로 수정하겠습니다.
이러면 끝이 아니라 따로 추가로 설정을 해주어야 합니다.
File -> Settings -> Build, Excution, Deployment -> Java Compiler -> Project bytecode version -> 11 -> 16으로 변경
한 개 더 설정해야 합니다..
File -> Project Structure 선택
SDKS -> 16으로 변경
Project -> SDK -> 16으로 변경
Project -> Language level -> SDK default로 변경
이제 실행하여 보겠습니다.
는 에러가 발생했습니다.
아직 설정이 잘 안 된 것 같네요
File -> Settings를 들어가서 gradle을 검색해 주겠습니다.
이후에 Gradle JVM에 JAVA_HOME을 java 16 버전으로 바꿔주겠습니다
다시 실행해 보겠습니다.
컴파일은 이제 잘 수행된 것 같습니다.
하지만 DataSource를 configure 하는데 실패했다고 합니다.
DB설정을 위해서.. 다음을 참고하여 설정하였습니다.
application.properties에 DB정보를 추가합니다. (yourDBName, yourname, yourpassword에는 자신의 DB 값을 확인하고 넣어야 합니다.)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/yourDBName?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul spring.datasource.username=yourname spring.datasource.password=yourpassword spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true
이때 build.gradle에는 원래 mysql 종속성을 제거하고 다음 종속성을 추가해줬습니다. (application.properties에서 에러가 발생했음)
implementation 'mysql:mysql-connector-java'
이제 실행해보면 드디어 잘 실행됩니다.
localhost:8080에도 접속해 보겠습니다.
에러 페이지 같지만 이렇게 뜨면 성공입니다~
출처
https://old-developer.tistory.com/m/171
https://dev-coco.tistory.com/85
'프로젝트 > 게시판 프로젝트' 카테고리의 다른 글
@Builder 제대로 알고 사용해보기 (0) 2022.04.30 JPA로 CRUD 해보기 + 테스트코드 (0) 2022.04.28 테이블의 PK는 어떤값으로 잡아야 할까? (0) 2022.04.21 프로젝트 데이터베이스 설계(RDBMS vs NoSQL 선정기준 + 특정 RDBMS 선정이유) (0) 2022.03.29 로그인 기능 구현 시 고려 사항(쿠키, 세션, 로컬 스토리지, 인증과 인가, 토큰, Oauth) (0) 2022.03.24