[DB] 스프링과 Mysql 연동 / 테스트 / ClassNotFound 오류

Jina·2023년 8월 8일
0

Art Hunter 프로젝트

목록 보기
4/5

📍 Mysql DB 생성


  1. cmd 창에서
$ mysql -u root -p
  1. database 생성 & 확인
CREATE DATABASE eight;
show databases;

  1. 데이터베이스 전환
use eight;

📍 스프링과 연동


  1. build.gradle
    dependency에 mysql 의존성 추가

  2. application.properties

# MySQL Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/eight?serverTimezone=UTC&characterEncoding=UTF-8

#DB username
spring.datasource.username=root
spring.datasource.password=0776

# JPA Configuration
spring.jpa.generate-ddl=true
# spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.open-in-view=false
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.properties.hibernate.format_sql=true

logging.level.org.hibernate.SQL = debug

🔥 ClassNotFound 오류

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver 오류가 발생했다

삽질의 시간...

mysql-connector-java.jar 파일을 다운받아 넣어주는 방법을 시도했지만 실패했다... 참고한 블로그

해결

오류를 해결한 방법은 매우 간단했다.. 참고한 블로그

build.gradle의 depenencies에 다음 코드를 추가했더니 해결되었다.

dependencies {
	implementation 'mysql:mysql-connector-java:8.0.33'
	(생략)
}

📍 테스트

mysqlTest 클래스

테스트용으로 간단히 작성해보았다.

import jakarta.persistence.*;

@Table(name = "mysql_test")
@Entity
public class MysqlTest {

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(length = 200, nullable = false)
    private String testText;

}

실행 후 intellij에서 쿼리문 확인

mysql 워크밴치에서도 확인 가능

0개의 댓글