programing

커넥터 버전이 변경된 경우 SpringBoot 앱이 MariDB에 연결할 수 없음

i4 2023. 5. 1. 19:58
반응형

커넥터 버전이 변경된 경우 SpringBoot 앱이 MariDB에 연결할 수 없음

MariaDB 커넥터 버전 2.7.6에서 잘 작동하는 SpringBoot 응용 프로그램이 있습니다.커넥터를 버전 3.0.6으로 업그레이드하려고 했는데 다음 오류가 발생합니다.

[org.springframework.org.m.jpa]를 인스턴스화하지 못했습니다.로컬 컨테이너 엔티티 관리자 공장 Bean]:공장 메서드 'entityManagerFactory'에서 예외를 발생시켰습니다. 중첩된 예외는 java.lang입니다.런타임 예외:드라이버 org.mariadb.jdbc.드라이버가 jdbcUrl, jdbc:mysql://localhost:3306/dbname을(를) 수락하지 않는다고 주장합니다.

내 application.properties는 다음과 같습니다.

spring.datasource.url=jdbc:mysql://localhost:3306/dbname
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driverClassName=org.mariadb.jdbc.Driver

나의 Gradle 의존성은

dependencies {
    testImplementation 'junit:junit:4.13.2'
    testImplementation('org.junit.vintage:junit-vintage-engine'){
        exclude group: 'org.hamcrest', module:'hamcrest-core'
    }
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation ('org.springframework.boot:spring-boot-starter-test'){
        exclude group: "com.vaadin.external.google", module:"android-json"
    }
    implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.6' // when 3.0.6 it is not working
    implementation 'org.json:json:20220320'
}

감 잡히는 게 없어요?

3.0 이후의 MariaDB 커넥터만 허용jdbc:mariadb기본 접두사:

mysql AND mariadb 드라이버를 동일한 클래스 경로에서 사용할 수 있는 경우가 있으므로 이제 드라이버만 허용합니다.jdbc:mariadb:결석으로

어떤 이유로 연결 문자열이 필요한 경우jdbc:mysql:드라이버는 연결 문자열에 'permitMysqlScheme'이 포함된 경우에만 사용됩니다.예:jdbc:mysql:localhost/test?permitMysqlScheme.

자세한 내용은 https://mariadb.com/kb/en/mariadb-connector-j-303-release-notes/ #jdbcmariadb-http를 참조하십시오.

언급URL : https://stackoverflow.com/questions/73775617/springboot-app-cant-connect-to-maridb-when-connector-version-changed

반응형