Maison >base de données >tutoriel mysql >Comment SpringBoot intègre Druid pour se connecter à MySQL8.0.11
Nous pouvons utiliser maven ou gradle pour la gestion des dépendances
Sélection de la version MySQL Connector/J :
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 !
<!-- 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"
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"
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.
@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; } }
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!