이 글에서는 om.mysql.jdbc.Driver와 com.mysql.cj.jdbc.Driver의 차이점을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
com.mysql.jdbc.Driver
는 mysql-connector-java 5에 있고, com.mysql.jdbc.Driver
是 mysql-connector-java 5中的,
com.mysql.cj.jdbc.Driver
是 mysql-connector-java 6中的
下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html
仓库地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java
mysql-connector-java 5
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency>
1、JDBC连接Mysql5 com.mysql.jdbc.Driver
:
driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false username=root password=
2、JDBC连接Mysql6 com.mysql.cj.jdbc.Driver
, 需要指定时区serverTimezone:
driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false username=root password=
在设定时区的时候,如果设定serverTimezone=UTC,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong,例如:
driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false username=root password=
备注:
I、如果mysql-connector-java用的6.0以上的,如下:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> </dependency>
但是你的driver用的还是com.mysql.jdbc.Driver
,就会报错:
Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
此时需要把com.mysql.jdbc.Driver
改为com.mysql.cj.jdbc.Driver
II、还有一个警告:
WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
不推荐不使用服务器身份验证来建立SSL连接。
如果未明确设置,MySQL 5.5.45+, 5.6.26+ and 5.7.6+版本默认要求建立SSL连接。
为了符合当前不使用SSL连接的应用程序,verifyServerCertificate
属性设置为’false’。
如果你不需要使用SSL连接,你需要通过设置useSSL=false
来显式禁用SSL连接。
如果你需要用SSL连接,就要为服务器证书验证提供信任库,并设置useSSL=true
com.mysql.cj.jdbc.Driver
는 mysql- connector-java 6의 다운로드 주소: https://dev.mysql.com/downloads/connector/j/5.1.html창고 주소: https://mvnrepository.com/artifact/mysql/mysql-connector-java🎜🎜🎜🎜mysql-connector-java 5🎜rrreee 🎜1. Mysql5 com.mysql.jdbc.Driver
:🎜rrreee🎜2에 대한 JDBC 연결. Mysql6 com.mysql.cj.jdbc.Driver
에 대한 JDBC 연결에는 시간대 serverTimezone을 지정해야 합니다. :🎜rrreee🎜시간대 설정 시 serverTimezone=UTC로 설정하면 중국 시간보다 8시간 빠릅니다. 예를 들어, 아시아/상하이 또는 아시아/홍콩을 선택할 수 있습니다. 비고: 🎜🎜 I. mysql-connector-java가 6.0 이상을 사용하는 경우 다음과 같습니다. 🎜rrreee🎜 그러나 드라이버는 여전히 com.mysql.jdbc.Driver
이며 오류가 보고됩니다. 🎜rrreee🎜이때 com.mysql.jdbc.Driver
를 com.mysql.cj.jdbc.Driver
🎜🎜로 변경해야 합니다.II에도 경고가 있습니다. : 🎜rrreee🎜 SSL 연결을 설정하는 데 서버 인증을 권장하지 않거나 사용하지 않습니다. 🎜🎜MySQL 5.5.45+, 5.6.26+ 및 5.7.6+ 버전은 명시적으로 설정되지 않은 경우 기본적으로 SSL 연결이 필요합니다. 🎜🎜현재 SSL 연결을 사용하지 않는 애플리케이션을 준수하기 위해 verifyServerCertificate
속성이 'false'로 설정됩니다. 🎜🎜SSL 연결을 사용할 필요가 없다면 useSSL=false
를 설정하여 SSL 연결을 명시적으로 비활성화해야 합니다. 🎜🎜SSL을 사용하여 연결해야 하는 경우 서버 인증서 확인을 위한 신뢰 저장소를 제공하고 useSSL=true
를 설정해야 합니다. 🎜🎜SSL – 보안 소켓 레이어🎜🎜추천 학습: 🎜php 비디오 튜토리얼🎜🎜위 내용은 om.mysql.jdbc.Driver와 com.mysql.cj.jdbc.Driver의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!