Heim  >  Artikel  >  Datenbank  >  Wie SpringBoot Druid integriert, um eine Verbindung zu MySQL8.0.11 herzustellen

Wie SpringBoot Druid integriert, um eine Verbindung zu MySQL8.0.11 herzustellen

王林
王林nach vorne
2023-05-29 10:49:061439Durchsuche

1. Abhängigkeiten konfigurieren

Abhängigkeitsverwaltung Wir können Maven oder Gradle verwenden
MySQL Connector/J-Versionsauswahl:

#🎜🎜 #

Wie SpringBoot Druid integriert, um eine Verbindung zu MySQL8.0.11 herzustellen

Hinweis: Wenn es sich um die MySQL5.X-Serie handelt, kann es bei Verwendung des 8.0.X-Treibers zu Kompatibilitätsproblemen kommen, bitte beachten Sie!

1.1MySQL Connector/J-Abhängigkeitskonfiguration 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-Abhängigkeitskonfiguration

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. Konfigurieren Sie DataSource

Hier verwenden wir Java Config. Als ich die YAML-Konfiguration verwendete, stellte ich fest, dass die Codeaufforderung unvollständig war, was die Fehlerwahrscheinlichkeit erheblich erhöhte. Daher wird empfohlen, Java Config zu verwenden.

2.1 Konfigurationsklasse erstellen

@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 Hinweise

Einige Kommentare sind im Code geschrieben, hier sind zwei Hinweise

Einer ist DriverClassName

8.0.11-Treiber (sollte ab Version 8 sein), der die ursprüngliche Methode aufgegeben hat. Wir können ihn finden, indem wir uns direkt den Quellcode ansehen.
com.mysql.jdbc.Driver Es sind zwei Sätze darin

Klasse „com.mysql.jdbc.Driver“ wird geladen. Dies ist veraltet. Die neue Treiberklasse ist ` com.mysql.cj.jdbc.Driver"
Der Treiber wird automatisch über die SPI registriert und ein manuelles Laden der Treiberklasse ist im Allgemeinen nicht erforderlich.



Bedeutung: Lädt die Klasse „com.mysql.jdbc.Driver“. Dies ist veraltet. Die neue Treiberklasse ist „com.mysql.cj.jdbc.Driver“, also achten Sie auf die Einstellung einer Eigenschaft „setDriverClassName“. Ein weiterer Hinweis ist die Einstellung der URL. Es gibt 4 Parameter, die beachtet werden müssen # 🎜🎜#

characterEncoding=utf8 (Zeichenkodierung)
  • useSSL=false (Es wurde festgestellt, dass es so sein muss Ab Version 8 hinzugefügt, aber nicht im Abdruck von 5.X. Erforderlich, das Hinzufügen dieses Parameters hängt möglicherweise mit den SSL-Verbindungseinstellungen von MySQL zusammen)
  • serverTimezone=UTC (Wenn Sie eine Verbindung zur Datenbank herstellen, fügen Sie diesen Parameter hinzu, wenn ein Zeitzonenfehler auftritt. I Dieses Problem scheint bei Verwendung des Druid-Verbindungspools aufzutreten.)
  • allowPublicKeyRetrieval=true ( Die Anmeldung mit dem Root-Konto ist kein Problem, aber die Verwendung eines normalen Kontos führt zu einem Fehler beim Abrufen des öffentlichen Schlüssels das Wiki im Druid-Projekt und konfigurieren Sie es entsprechend Ihren Bedürfnissen
  • #🎜 🎜#

Das obige ist der detaillierte Inhalt vonWie SpringBoot Druid integriert, um eine Verbindung zu MySQL8.0.11 herzustellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen