IT/Database
com.mysql.cj.jdbc.Driver와 com.mysql.jdbc.Driver 차이 (23.04.25)
성준하이
2023. 4. 28. 23:32
반응형
데이터베이스와 연동하는 개발을 하기 위해서는 jdbc를 필수적으로 필요로 한다.
그중 오픈라이선스로 무료인 mysql을 개인으로는 많이 사용하고 필자 역시 사용하는데,
driver가 이름은 같지만 도메인 자체가 다른 제목과 같은 두 드라이버에 대한 차이를 알아보려고 한다.
- com.mysql.cj.jdbc.Driver
- com.mysql.jdbc.Driver
둘의 차이는 사용하는 mysql connector의 버전이다. com.mysql.jdbc.Driver는 Connector/J 5.x 버전까지 사용되었고
Connector/J 8.x 버전부터는 com.mysql.cj.jdbc.Driver를 사용해야 한다.
실제로 mysql-connector-java-8.0.22.jar 파일을 디컴파일러로 까보면 패키지가 com.mysql > cj > Driver.class 순으로 진입되는 걸 확인할 수 있다.
이외에도 버전 변화와 함께 아래의 클래스 및 인터페이스의 명칭에도 변화가 있었는데 아래와 같다.
기존 | 변경 |
com.mysql.jdbc.ExceptionInterceptor | com.mysql.cj.exceptions.ExceptionInterceptor |
com.mysql.jdbc.StatementInterceptorV2 | com.mysql.cj.interceptors.QueryInterceptor |
mysql.jdbc.ConnectionLifecycleInterceptor | com.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor |
com.mysql.jdbc.AuthenticationPlugin | com.mysql.cj.protocol.AuthenticationPlugin |
com.mysql.jdbc.BalanceStrategy | com.mysql.cj.jdbc.ha.BalanceStrategy |
com.mysql.jdbc.jdbc2.optional.MysqlDataSource | com.mysql.cj.jdbc.MysqlDataSource |
com.mysql.jdbc.jdbc2.optional.MysqlDataSourceFactory | com.mysql.cj.jdbc.MysqlDataSourceFactory |
com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource | com.mysql.cj.jdbc.MysqlConnectionPoolDataSource |
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource | com.mysql.cj.jdbc.MysqlXADataSource |
com.mysql.jdbc.jdbc2.optional.MysqlXid | com.mysql.cj.jdbc.MysqlXid |
반응형