본문 바로가기

Backend/Spring | SpringBoot

[JDBC] java.sql.SQLException: No suitable driver found for jdbc:mariadb

반응형

Spring Batch를 이용해 물리적으로 다른 서버에 있는 DB를 옮기려고 한다.

기존에 정상 작동을 확인했으나 보안 이슈를 해결하는 과정에 다시 마주친 에러이다.

Sol)

  1. 의존성 관련 이슈
    의존성을 추가해 주면 된다
    <dependency>
    	<groupId>org.mariadb.jdbc</groupId>
    	<artifactId>mariadb-java-client</artifactId>
    	<version>3.3.3</version>
    </dependency>​
  2. 클래스를 불러오지 못하는 경우
    작성한 Batch관련 Java코드 안에
    public class Batch{
    	public void connection() {
        	Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, password);
            //...
        }
    }​​

    이런식으로 Class.forName()을 이용해 동적 클래스를 로드 하는 방식을 사용하면 된다.
  3.  

우선 의존성을 추가하고 동적 클래스로 로드를 하라고 한다.

하지만 동적 클래스로 로드하게되면 취약점이 발생하여 사용이 불가능하다.

 

추가적인 방법은 없을까? 아예 찾지 못하니 답이 없다.

 

+ ) 한줄 요약 하자면 동적클래스로 로드하면 정상작동 하는데 취약점 때문에 사용을 못하는 상황이다.

반응형

'Backend > Spring | SpringBoot' 카테고리의 다른 글

[Spring Security] CSRF 토큰  (0) 2024.03.13
[JPA] Auto Increase가 안될 때  (0) 2024.03.11
[REST API] @Controller / @RestController  (0) 2024.03.05
[JPA] insert...ing  (0) 2024.03.04
[JPA] Insert 방법  (0) 2024.02.29