Maison > base de données > tutoriel mysql > Comment SpringBoot intègre Druid pour se connecter à MySQL8.0.11

Comment SpringBoot intègre Druid pour se connecter à MySQL8.0.11

王林
Libérer: 2023-05-29 10:49:06
avant
1462 Les gens l'ont consulté

1. Configurer les dépendances

Nous pouvons utiliser maven ou gradle pour la gestion des dépendances
Sélection de la version MySQL Connector/J :

Comment SpringBoot intègre Druid pour se connecter à MySQL8.0.11

Remarque : s'il s'agit de la série MySQL5.X, il y aura une compatibilité avec la version 8.0. Pilote X Un problème survient, faites attention !

1.1Configuration des dépendances MySQL 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>
Copier après la connexion

gradle

// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: "mysql", name: "mysql-connector-java", version: "8.0.11"
Copier après la connexion

1.2Configuration des dépendances Druid

maven

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>
Copier après la connexion

####gradle

// https://mvnrepository.com/artifact/com.alibaba/druid
compile group: "com.alibaba", name: "druid", version: "1.1.10"
Copier après la connexion

2 Configurer DataSource

Ici, nous utilisons Java Config. Lorsque j'ai utilisé la configuration YAML, j'ai constaté que l'invite de code était incomplète, ce qui augmentait considérablement le risque d'erreurs, il est donc recommandé d'utiliser Java Config.

2.1 Créer une classe de configuration

@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;
    }
}
Copier après la connexion

2.2 Notes

Certains commentaires sont écrits dans le code
L'une est le pilote DriverClassName
8.0.11 (doit démarrer à partir de la version 8), l'original est une méthode abandonnée. nous pouvons le trouver en regardant directement le code source.
Il y a deux phrases dans com.mysql.jdbc.Driver

Classe de chargement `com.mysql.jdbc.Driver". Ceci est obsolète. La nouvelle classe de pilote est `com.mysql.cj.jdbc.Driver"
Le le pilote est automatiquement enregistré via le SPI et le chargement manuel de la classe du pilote est généralement inutile

signifie charger la classe "com.mysql.jdbc.Driver". Ceci est obsolète. La nouvelle classe de pilote est "com.mysql.cj.jdbc.Driver", alors faites attention au réglage d'une propriété "setDriverClassName". Une autre remarque est le réglage de l'URL. Il y a 4 paramètres auxquels il faut prêter attention

  • characterEncoding=utf8 ( Codage des caractères)

  • useSSL=false (Il a été constaté qu'il ne doit être ajouté qu'à partir de la version 8. Il n'est pas obligatoire en 5. Lors de la connexion à la base de données, ajoutez ce paramètre lorsque une erreur de fuseau horaire se produit. Il semble que ce problème ne se produit que lorsque j'utilise le pool de connexion Druid)

  • allowPublicKeyRetrieval=true (il n'y a aucun problème pour se connecter avec le compte root, mais la récupération de clé publique sera demandée lors de l'utilisation. un compte normal) Erreur)


  • Pour plus de configuration, veuillez vous référer au wiki du projet Druid et configurez-le selon vos besoins

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal