• java中mysql5和mysql8数据库连接方式


    1、mysql5.7—JDBC四件套

    • 驱动类名com.mysql.jdbc.Driver
    • 数据库 URLjdbc:mysql://localhost:3306/databaseName
    • 特性:对于 MySQL 5.x 版本,通常不需要设置 useSSLallowPublicKeyRetrievalserverTimezone 参数,除非有特定的配置需求。
    jdbc.driverClass = com.mysql.jdbc.Driver
    jdbc.url= jdbc:mysql://localhost:3306/db2024?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    jdbc.user = root
    jdbc.password =123456
    
    # MavenPOM文件处理
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
    </dependency>
    

    2、mysql8.0—JDBC四件套

    • 驱动类名com.mysql.cj.jdbc.Driver
    • 数据库 URLjdbc:mysql://localhost:3306/databaseName?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
    • 特性:
      • useSSL=false:指示驱动程序不要使用 SSL 加密连接(MySQL 8.0 默认不使用 SSL)。
      • allowPublicKeyRetrieval=true:允许驱动程序从服务器检索公钥,这在连接到 MySQL 5.7+ 版本时可能需要。
      • serverTimezone=UTC:设置服务器时区为协调世界时,以避免时区相关的问题。
    jdbc.driverClass = com.mysql.cj.jdbc.Driver
    jdbc.url= jdbc:mysql://localhost:3306/db2024?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
    jdbc.user = root
    jdbc.password =123456
    

    #MavenPOM
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.11</version>
    </dependency>
    

    3、其他注意事项:

    • 编码问题:在连接 URL 中设置 characterEncoding=UTF-8 可以避免编码问题,确保数据的正确传输。
    • 驱动程序获取:确保项目中包含了对应版本的 MySQL JDBC 驱动程序,可以通过 Maven 依赖或直接添加 JAR 文件到项目中。
    • 密码策略:MySQL 8 引入了密码策略的改进,可能需要在连接后进行密码的更新或使用更强的密码。

    如果你使用 MySQL 8 的 JDBC 驱动来连接 MySQL 5.x 数据库,你需要确保:

    1. 在项目中包含 MySQL 8 的 JDBC 驱动依赖。
    2. 使用 MySQL 5.x 的驱动类名 com.mysql.jdbc.Driver 来加载驱动程序。
  • 相关阅读:
    【无标题】
    1、回文数
    WebRTC系列-网络传输之7-ICE补充之偏好(preference)与优先级(priority)
    深度学习与视频直播美颜sdk:背后的技术革新
    MyBatis-Plus联表查询的短板,终于有一款工具补齐了
    visio导出SVG矢量图在wps中显示问题
    Unity的粒子总是丢材质
    idea2022.2.3版本下载安装配置(包含运行第一个java程序教程)详细步骤
    SpringCloud: FeignClient原理解析
    Python基础入门——python中的时间包
  • 原文地址:https://blog.csdn.net/Alfred_tfk/article/details/139439716