Maison >base de données >tutoriel mysql >Suite du fil : Comment créer une application de finances personnelles intégrant Google Drive, MySQL et Node.js

Suite du fil : Comment créer une application de finances personnelles intégrant Google Drive, MySQL et Node.js

Patricia Arquette
Patricia Arquetteoriginal
2025-01-05 11:24:39844parcourir

Continuación del Hilo: Cómo Crear una Aplicación de Finanzas Personales Integrando Google Drive, MySQL y Node.js

Étape 6 : Connexion à la base de données**

Dans cette étape, nous explorons comment établir une connexion entre notre application Node.js et une base de données MySQL pour conserver efficacement les données. Vous apprendrez à :

  • Configurez les informations d'identification de votre base de données dans Node.js.
  • Utilisez la bibliothèque mysql2 pour gérer la connexion.
  • Créez des requêtes de base pour insérer, mettre à jour et récupérer des données.

Cette étape est essentielle pour optimiser les performances de l'application, en évitant les lectures continues des fichiers dans Google Drive et en permettant une analyse plus efficace des données stockées. ?

Documentation du code de connexion à une base de données avec MySQL dans Node.js

Ce code établit une connexion à une base de données MySQL à l'aide de mysql2 et gère les erreurs de connexion et les requêtes à l'aide de promesses. Chaque partie du processus est détaillée ci-dessous pour documenter son utilisation.


Paramètres des codes

  1. Exigences et configuration de l'environnement :

    • Le package mysql2 est requis pour interagir avec la base de données MySQL.
    • dotenv est utilisé pour gérer les variables d'environnement, permettant de configurer en toute sécurité des informations sensibles telles que les informations d'identification de la base de données.
    • La configuration de la connexion est obtenue à partir d'un fichier de configuration ou de variables d'environnement si dotenv est utilisé.
    const mysql = require('mysql2');
    const { promisify } = require('util');
    require('dotenv').config();  // Cargar variables de entorno
    const localhost = process.env.DATABASE_CONFIG || require('../config');  // Recuperar configuración desde dotenv o archivo de configuración
    
  2. Création du Pool de Connexion :

    • Un pool de connexions est créé à l'aide de la configuration récupérée. Cela permet de maintenir des connexions persistantes et réutilisables, optimisant ainsi les performances.
    const pool = mysql.createPool(localhost);
    
  3. Promisification des requêtes :

    • Les requêtes sont promises pour les gérer de manière asynchrone à l'aide de promisify. Cela simplifie la gestion des résultats des requêtes et des erreurs.
    pool.query = promisify(pool.query);
    
  4. Gestion des erreurs :

    • Les éventuelles erreurs de connexion et requêtes sont traitées. Par exemple, les erreurs telles que l'accès refusé, la connexion perdue ou le nombre maximal de connexions atteint sont traitées spécifiquement.
    pool.getConnection()
        .then(connection => {
            connection.release();
            console.log("Conexión establecida correctamente.");
        })
        .catch(err => {
            if (err.code === 'ER_NOT_SUPPORTED_AUTH_MODE' || err.code === 'ER_ACCESS_DENIED_ERROR') {
                console.error('Error de acceso denegado. Revise las credenciales.');
            } else if (err.code === 'PROTOCOL_CONNECTION_LOST') {
                console.error('La conexión con la base de datos se perdió.');
            } else if (err.code === 'ER_CON_COUNT_ERROR') {
                console.error('Demasiadas conexiones activas.');
            } else if (err.code === 'ECONNREFUSED') {
                console.error('La conexión con la base de datos fue rechazada.');
            } else {
                console.error(`Error desconocido: ${err.message}`);
            }
        });
    

Explication détaillée du code

  1. Exigences et configuration :

    • mysql2 fournit une API pour interagir avec MySQL.
    • dotenv est utilisé pour gérer les configurations via un fichier .env ou directement des variables d'environnement.
    • localhost contient les données de configuration de la base de données telles que l'hôte, l'utilisateur, le mot de passe, etc.
  2. Création de pool :

    • mysql.createPool(localhost) crée une connexion persistante, idéale pour les applications qui gèrent plusieurs connexions simultanément.
  3. Promesse :

    • Les requêtes SQL sont promises à être utilisées comme fonctions asynchrones, ce qui les rend plus faciles à gérer dans les applications modernes.
  4. Gestion des erreurs :

    • Les erreurs courantes telles que la perte de connexion, l'accès refusé ou le rejet de requêtes sont soigneusement traitées pour fournir des messages utiles au développeur et éviter les plantages.

Utilisation dans les projets

Ce code est utile pour connecter les applications Node.js aux bases de données MySQL, fournissant une solution robuste pour la gestion des connexions et des erreurs à l'aide de techniques modernes telles que la promesse et la gestion appropriée des exceptions.

const mysql = require('mysql2');
const { promisify } = require('util');
require('dotenv').config();  // Cargar variables de entorno
const localhost = process.env.DATABASE_CONFIG || require('../config');  // Recuperar configuración desde dotenv o archivo de configuración

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!

Déclaration:
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