ホームページ >データベース >mysql チュートリアル >スレッドの続き: Google Drive、MySQL、Node.js を統合したパーソナル ファイナンス アプリケーションを作成する方法

スレッドの続き: Google Drive、MySQL、Node.js を統合したパーソナル ファイナンス アプリケーションを作成する方法

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-05 11:24:39877ブラウズ

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

ステップ 6: データベースとの接続**

このステップでは、Node.js アプリケーションと MySQL データベース間の接続を確立してデータを効率的に永続化する方法を検討します。次のことを学びます:

  • Node.js でデータベースの認証情報を構成します。
  • mysql2 ライブラリを使用して接続を管理します。
  • データを挿入、更新、取得するための基本的なクエリを作成します。

この手順は、アプリケーションのパフォーマンスを最適化し、Google ドライブ内のファイルからの継続的な読み取りを回避し、保存されたデータのより効率的な分析を可能にするために不可欠です。 ?

Node.js で MySQL を使用してデータベースに接続するためのコードのドキュメント

このコードは、mysql2 を使用して MySQL データベースへの接続を確立し、Promise を使用して接続エラーとクエリを処理します。プロセスの各部分の使用方法を文書化するために、以下で詳しく説明します。


コード設定

  1. 環境要件と構成:

    • MySQL データベースと対話するには、mysql2 パッケージが必要です。
    • dotenv は環境変数の管理に使用され、データベース認証情報などの機密情報を安全に構成できます。
    • 接続設定は、設定ファイルから、または dotenv が使用されている場合は環境変数から取得されます。
    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. 接続プールの作成:

    • 復元された構成を使用して接続プールが作成されます。これにより、永続的で再利用可能な接続が維持され、パフォーマンスが最適化されます。
    const pool = mysql.createPool(localhost);
    
  3. クエリの約束:

    • クエリは、promisify を使用して非同期に処理することが約束されています。これにより、クエリ結果とエラーの管理が簡素化されます。
    pool.query = promisify(pool.query);
    
  4. エラー管理:

    • 考えられる接続エラーとクエリが処理されます。たとえば、アクセス拒否、接続喪失、最大接続数到達などのエラーは特別に処理されます。
    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}`);
            }
        });
    

コードの詳しい説明

  1. 要件と構成:

    • mysql2 は、MySQL と対話するための API を提供します。
    • dotenv は、.env ファイルまたは直接環境変数を通じて構成を管理するために使用されます。
    • localhost には、ホスト、ユーザー、パスワードなどのデータベース構成データが含まれます。
  2. プールの作成:

    • mysql.createPool(localhost) は永続的な接続を作成します。これは、複数の接続を同時に処理するアプリケーションに最適です。
  3. 約束:

    • SQL クエリは非同期関数として使用されることが約束されているため、最新のアプリケーションでの処理が容易になります。
  4. エラー管理:

    • 接続の切断、アクセスの拒否、クエリの拒否などの一般的なエラーは、開発者に有用なメッセージを提供し、クラッシュを回避するために慎重に処理されます。

プロジェクトでの使用

このコードは、Node.js アプリケーションを MySQL データベースに接続するのに役立ち、約束や適切な例外処理などの最新の技術を使用した接続とエラー管理のための堅牢なソリューションを提供します。

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

以上がスレッドの続き: Google Drive、MySQL、Node.js を統合したパーソナル ファイナンス アプリケーションを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。