내용

implementation("dev.miku:r2dbc-mysql:0.8.2")

기존에는 저 의존성을 사용해서 DB와 커넥션을 하려고 했었다.

// DB와 커넥션하는 코드

@Bean
fun initializer() = ConnectionFactoryInitializer().apply {
    setConnectionFactory(connectionFactory)
    setDatabasePopulator(ResourceDatabasePopulator(ClassPathResource("schema.sql")))
}

하지만 아래와 같은 오류가 발생했다.

r2dbc class java.lang.integer cannot be cast to class 
java.lang.long (java.lang.integer and 
java.lang.long are in module java.base of loader 'bootstrap')

그래서 찾아보니 다음의 글을 찾았다 위의 오류와 관련된 스택오버플로우


답변

아래와 같은 답변이 있었는데 요약하면 내가 쓰던 저 mysql 의존성이 특정 함수에 대해서

원래는 Long 타입을 반환시켜야 하는데 **dev.miku 의존성은 Integer를 반환**하고 있었다.

스크린샷 2023-08-26 오전 10.45.28.png


결론

아래의 의존성으로 수정하니까 잘 연동됐다

implementation("io.asyncer:r2dbc-mysql:1.0.2")