"C:\Program Files\Java\jdk-11.0.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2023.2\lib\idea_rt.jar=53084:C:\Program Files\JetBrains\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\sinar\Desktop\슈퍼코딩\java_task\out\production\java_task;C:\Users\sinar\.gradle\caches\modules-2\files-2.1\org.jasypt\jasypt\1.9.3\d99ef9540f51c617f2a293b460f025d2ee563dd\jasypt-1.9.3.jar practice.day20240524.JdbcTest
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/chapter_80
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at practice.day20240524.JdbcTest.main(JdbcTest.java:24)
Process finished with exit code 0
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcTest {
// Connection 얻기 위한 접근 정보
private final static String DB_URL = "jdbc:mysql://localhost:3306/chapter_80";
private final static String DB_USER = "root";
private final static String DB_PASSWORD = System.getenv("DB_PW");
public static void main(String[] args) {
try(Connection connection = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); // Connection 얻기
Statement statement = connection.createStatement(); // Statement 얻기
) {
// Statement 생성
} catch (Exception e) {
e.printStackTrace();
}
}
}
dependencies {
testImplementation platform('org.junit:junit-bom:5.9.1')
testImplementation 'org.junit.jupiter:junit-jupiter'
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'
// jdbc
implementation 'mysql:mysql-connector-java:8.0.27'
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcTest {
// Connection 얻기 위한 접근 정보
private final static String DB_URL = "jdbc:mysql://localhost:3306/chapter_80";
private final static String DB_USER = "root";
private final static String DB_PASSWORD = System.getenv("DB_PW");
public static void main(String[] args) {
try(Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/chapter_80",
"root",
"sinariari"); // Connection 얻기
Statement statement = connection.createStatement(); // Statement 얻기
) {
// Statement 생성
} catch (Exception e) {
e.printStackTrace();
}
}
}
로컬에 설치된 MySQL 버전 확인 : 8.0.3
프로젝트의 build.gralde에는 8.0.27이므로 8.0.3으로 변경햇지만 여전히 문제 해결안됨
다른 모듈에 있는 JDBC를 가져오는지 확인
- File -> Project Stucture -> Project Settings -> Modules
확인해본 결과, MyGradle에 있는 jdbc가 java 코드가 있는 java_task에는 있지 않는 것을 확인할 수 있다.
방법 : + -> Module Dependency ... -> 추가할 모듈 선택
다른 모듈에 있는 라이브러리를 읽지 못해서 발생한 문제였다.