ホームページ >データベース >mysql チュートリアル >SpringBoot が Druid を統合して MySQL8.0.11 に接続する方法

SpringBoot が Druid を統合して MySQL8.0.11 に接続する方法

王林
王林転載
2023-05-29 10:49:061467ブラウズ

1. 依存関係の構成

依存関係管理には Maven または gradle を使用できます
MySQL Connector/J バージョンの選択:

SpringBoot が Druid を統合して MySQL8.0.11 に接続する方法

注: MySQL5.X シリーズの場合、8.0.X ドライバーを使用すると互換性の問題が発生する可能性があるため、注意してください。

1.1MySQL Connector/J 依存関係構成 maven

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.11</version>
</dependency>

gradle

// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: "mysql", name: "mysql-connector-java", version: "8.0.11"

1.2Druid 依存関係構成

maven

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>

#gradle

// https://mvnrepository.com/artifact/com.alibaba/druid
compile group: "com.alibaba", name: "druid", version: "1.1.10"

2. DataSource の設定

ここでは Java Config を使用します。 YAML 構成を使用した場合、コード プロンプトが不完全であることがわかり、エラーが発生する可能性が大幅に高まったので、Java Config を使用することをお勧めします。

2.1 構成クラスの作成

@Configuration
public class Config {
    @Bean
    public DruidDataSource druidDataSource() {
        //Druid 数据源配置
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/work?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true");
        dataSource.setUsername("webuser");
        dataSource.setPassword("123456");
        //初始连接数(默认值0)
        dataSource.setInitialSize(8);
        //最小连接数(默认值0)
        dataSource.setMinIdle(8);
        //最大连接数(默认值8,注意"maxIdle"这个属性已经弃用)
        dataSource.setMaxActive(32);
        return dataSource;
    }
}

2.2 注


コードにはいくつかのコメントが記述されています。ここに 2 つの注記があります。
1 つは DriverClassName です。
8.0 は .11ドライバー (おそらくバージョン 8 以降) は元の方法を放棄しているため、ソース コードを直接見ることでそれを見つけることができます。

com.mysql.jdbc.Driver


Loading class `com.mysql.jdbc.Driver" には 2 つの文があります。これは非推奨です。新しいドライバー クラスは `com.mysql. cj.jdbc.Driver"
ドライバーは SPI 経由で自動的に登録され、ドライバー クラスの手動ロードは通常は不要です。

はクラス "com.mysql.jdbc をロードすることを意味します。運転者"。これは廃止されました。新しいドライバー クラスは「com.mysql.cj.jdbc.Driver」なので、プロパティ「setDriverClassName」の設定に注意してください。もう 1 つの注意は、URL の設定です。注意する必要があるパラメーターは 4 つあります
  • characterEncoding=utf8 (文字エンコーディング)
  • useSSL=false (バージョン 8 からのみ追加する必要があることがわかりました。 5.X では必要ありません。このパラメータの追加は MySQL に関連する可能性があります。これは SSL 接続設定に関係します)
  • serverTimezone=UTC (データベースに接続するときに追加します)タイムゾーンエラーが発生したときにこのパラメータを設定します。この問題はDruid接続プールを使用している場合にのみ発生するようです。)

  • allowPublicKeyRetrieval=true (rootアカウントでログインしても問題ありません)ただし、通常のアカウントを使用すると、公開キーの取得エラーが表示されます)

詳細 複数の構成については、Druid プロジェクトの wiki を参照し、必要に応じて構成してください。ニーズ############

以上がSpringBoot が Druid を統合して MySQL8.0.11 に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。