在学习之前先了解一下MySQL JDBC 驱动(Connector/J)版本与 MySQL 数据库版本之间的兼容性 MySQL JDBC 驱动(Connector/J)版本与 MySQL 数据库版本之间的兼容性MySQL JDBC 驱动(Connector/J)版本与 MySQL 数据库版本之间的兼容性问题非常重要,因为不兼容的版本可能会导致连接问题、性能问题或者无法使用某些新特性。以下是 MySQL JDBC 驱动(Connector/J)版本与 MySQL 数据库版本的对应关系总结:1. MySQL Connector/J 驱动版本和 MySQL 数据库版本的兼容性表[td]
MySQL Connector/J 版本
支持的 MySQL 数据库版本
8.0.x
MySQL 5.7, MySQL 8.0
5.1.x
MySQL 5.5, MySQL 5.6,
MySQL 5.7
5.0.x
MySQL 5.0, MySQL 5.1
3.1.x
MySQL 4.1, MySQL 5.0
3.0.x
MySQL 3.x, MySQL 4.0
说明:
MySQL Connector/J 8.0.x:
这是最新的 MySQL JDBC 驱动程序版本,完全支持 MySQL 5.7 和 MySQL 8.0,并且向后兼容 MySQL 5.5 和 MySQL 5.6(尽管官方建议使用最新的驱动程序以确保最好的兼容性和性能)。
支持 Java 8 及更高版本。
MySQL Connector/J 5.1.x:
这是最广泛使用的一个版本,主要支持 MySQL 5.5、5.6 和 5.7。
支持 Java 5、6、7 和 8。
MySQL Connector/J 5.0.x 及以下版本:
主要与 MySQL 5.0 及更早版本兼容,这些版本相对较老,并且已经逐步被 MySQL 官方停止支持。
2. 如何选择合适的 MySQL JDBC 驱动版本
使用 MySQL 8.0 数据库时:
推荐使用 MySQL Connector/J 8.0.x,因为它引入了对 MySQL 8.0 中新特性的支持(如角色、JSON 类型的增强支持等),并修复了一些在 MySQL 8.0 和 5.7 中的重要问题。
使用 MySQL 5.7 数据库时:
可以选择使用 MySQL Connector/J 8.0.x 或 MySQL Connector/J 5.1.x。
总结来说,选择合适的 MySQL JDBC 驱动版本需要根据 MySQL 数据库版本、Java 版本及项目需求来综合考量。建议在升级 MySQL 数据库版本时也同时更新 JDBC 驱动以保持兼容性和最佳性能。
上面太多文字了,这里直接放结论一. MySQL Connector/J 驱动版本和 MySQL 数据库版本的兼容性表[td]
MySQL Connector/J 版本
支持的 MySQL 数据库版本
8.0.x
MySQL 5.7, MySQL 8.0
5.1.x
MySQL 5.5, MySQL 5.6, MySQL 5.7
5.0.x
MySQL 5.0, MySQL 5.1
3.1.x
MySQL 4.1, MySQL 5.0
3.0.x
MySQL 3.x, MySQL 4.0
说明:
MySQL Connector/J 8.0.x:
这是最新的 MySQL JDBC 驱动程序版本,完全支持 MySQL 5.7 和 MySQL 8.0,并且向后兼容 MySQL 5.5 和 MySQL 5.6(尽管官方建议使用最新的驱动程序以确保最好的兼容性和性能)。
支持 Java 8 及更高版本。
MySQL Connector/J 5.1.x:
这是最广泛使用的一个版本,主要支持 MySQL 5.5、5.6 和 5.7。
支持 Java 5、6、7 和 8。
MySQL Connector/J 5.0.x 及以下版本:
主要与 MySQL 5.0 及更早版本兼容,这些版本相对较老,并且已经逐步被 MySQL 官方停止支持。
二. MySQL Connector/J 驱动下载1.进入下载官网 https://dev.mysql.com/downloads/ 2.点击Connector/J 3.选platform Independent选项 4.选择5.1.49版本并选择第二个下载
这里我提供一个下载直链,方便大家下载(这个是官网下载的文件)
mysql-connector-java-5.1.49.zip
mysql-connector-java-5.1.49.zip
我们只需要用到里面的一个文件,我提供一个下载直链,方便大家下载
mysql-connector-java-5.1.49.jar文件,下载后解压
https://file.rjasj.com/s/vEcX三.与IDEA建立连接
不知道怎么安装IDEA的可以看一下我的这一篇文章
IDEA 2024.2.3 最新破解版安装教程(附激活码,至2099年~) (rjasj.com)1.打开IDEA新建一个项目 2.在MYSQL_JDBC目录里面,新建一个lib目录 至于为什么要创建lib目录放jar驱动文件,是这样说的(可以不用了解)在 Java 项目中创建 lib 目录并将 JAR 文件放在其中是一种常见的项目组织方式,目的是为了管理项目的外部依赖。JAR(Java Archive)文件通常包含第三方库、框架或者工具包,使用 lib 目录来存放这些 JAR 文件可以让项目结构更加清晰、规范。下面是创建 lib 目录的原因和一些常见的实践。1. 为什么创建 lib 目录放 JAR 文件?a. 管理外部依赖Java 项目通常会使用许多第三方库(例如 MySQL 的 JDBC 驱动、日志库、JSON 处理库等)。这些库通常以 JAR 文件的形式发布,将这些 JAR 文件放在项目的 lib 目录中,便于统一管理所有外部依赖。b. 项目结构清晰将所有的 JAR 文件集中在 lib 目录下,可以保持项目目录的整洁,不至于让 JAR 文件与项目的源代码混在一起。这样也方便其他开发人员或构建工具快速找到依赖项。c. 简化项目部署在项目部署时,所有需要的 JAR 文件都在 lib 目录中,避免遗漏依赖库。当项目打包时,可以直接将 lib 目录一并打包,确保所有外部库都可以被正确加载和使用。d. 便于构建工具识别依赖在使用构建工具(如 Ant、Maven、Gradle)时,lib 目录往往是默认的依赖库存放位置。这样在构建项目时,工具可以自动加载 lib 目录中的所有 JAR 文件并加入到项目的 classpath 中。2. 常见的项目结构通常,在 Java 项目中,lib 目录位于项目的根目录下,与 src(源代码目录)等并列。示例项目结构:/project-root ├── /src # 源代码目录 │ ├── /com │ │ └── /example │ │ └── MyApp.java ├── /lib # JAR 文件目录 │ ├── mysql-connector-java-8.0.27.jar │ ├── log4j-1.2.17.jar └── build.xml # 构建工具文件(如Ant)
/src:源代码目录,放置 Java 源代码文件。
/lib:JAR 文件目录,存放第三方库或工具包的 JAR 文件。
build.xml:构建脚本文件(如果使用 Ant),在构建过程中会引用 lib 目录下的 JAR 文件。
3. 如何使用 lib 目录中的 JAR 文件为了让 Java 项目能够访问 lib 目录中的 JAR 文件,你需要将这些 JAR 文件添加到项目的 classpath 中。a. 手动编译和运行如果你是通过命令行手动编译和运行 Java 程序,你可以使用 -classpath 或 -cp 参数将 lib 目录下的所有 JAR 文件添加到 classpath 中。编译:javac -cp "lib/*" src/com/example/MyApp.java -d out/
-cp "lib/*":将 lib 目录下的所有 JAR 文件添加到 classpath。
src/com/example/MyApp.java:指定源代码路径。
-d out/:指定输出目录为 out。
运行:java -cp "lib/*:out/" com.example.MyApp
-cp "lib/*:out/":将 lib 目录下的 JAR 文件和编译后的 out 目录一起添加到 classpath。
b. 在 IDE 中使用大多数现代的 Java IDE(如 IntelliJ IDEA、Eclipse)允许你轻松地将 lib 目录中的 JAR 文件作为项目依赖。
不加?useSSL=false报错
Sun Oct 06 01:30:10 CST 2024 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.数据库连接成功!Process finished with exit code 0 这里说一下为什么要加?useSSL=false,不加的话会有一个警告,但不影响这个警告信息表明你在使用 MySQL 数据库时,JDBC 驱动默认尝试建立一个 SSL 连接,但由于没有进行服务器的身份验证,导致了警告。MySQL 版本 5.5.45+、5.6.26+ 和 5.7.6+ 开始,SSL 连接默认启用,但为了兼容旧的应用程序,JDBC 驱动程序将 verifyServerCertificate 属性设置为了 false,这意味着服务器证书没有被验证。以下是解决此警告的两种主要方法:1. 显式禁用 SSL如果你不需要使用 SSL 连接,可以通过在 JDBC 连接 URL 中添加 useSSL=false 来禁用 SSL。这样就不会出现 SSL 相关的警告。JDBC 连接 URL 示例:jdbc:mysql://localhost:3306/yourDatabase?useSSL=false这种方式适合你不需要加密连接的情况下使用。2. 启用 SSL 并验证服务器证书如果你希望启用 SSL 并进行安全的连接,则需要显式设置 useSSL=true,并提供服务器的证书用于验证。你需要设置 trustStore 来存储服务器的证书。步骤如下: