ホームページ  >  記事  >  ウェブフロントエンド  >  mysqlパッケージをnodejsにインストールする方法

mysqlパッケージをnodejsにインストールする方法

青灯夜游
青灯夜游オリジナル
2021-09-16 11:38:035447ブラウズ

npm ツールを使用して、nodejs に mysql パッケージをインストールできます。具体的なインストール方法: 1. ターミナルを開き、指定されたプロジェクト ディレクトリに入ります; 2. 「npm install mysql --save」コマンドを実行しますダウンロードとインストールが完了するまで待ちます。

mysqlパッケージをnodejsにインストールする方法

このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 14.15.4、DELL G3 コンピューター。

NodejsでmysqlパッケージをインストールしてMySQLに接続する方法

まず、nodejsとnpmをインストールします。

私は簡単な例を書きました。例全体では Express フレームワークを使用しています。Express テンプレートと ejs テンプレートは、node_modules にダウンロードされています。まずディレクトリを見てみましょう:

mysqlパッケージをnodejsにインストールする方法

server.js =》node.jsサーバー起動ファイル

db.js =》データベース操作ファイル

views =》テンプレート ファイルを保存します。つまり、すべてのページが保存されます。

public =》すべての静的リソース (CSS JS 画像など) を保存します

# MySQL への接続方法:

最初のステップは、MySQL という npm パッケージをインストールすることです。このパッケージは公式に提供されており、安定性が保証されています。もちろん、他の npm パッケージもあります。ここでは mysql パッケージのみを使用します。インストール方法は非常に簡単で、コマンド

npm install mysql --save を入力し、ダウンロードが完了するまで待ちます。インストールは成功しました。

次に、db.js ファイルを開いて、データベース操作に必要なコードをいくつか書きます。下の図を参照してください:

コードは非常に小さいので、また、最初のステップで mysql パッケージの導入が必要であることも明らかです。次に、空のオブジェクトを作成し、それに query というメソッドを割り当てます。このメソッドは 2 つのパラメータを受け入れます。最初のパラメータは、データをクエリするときの SQL ステートメントです。 2 番目のパラメータは、クエリ結果を取得するためのコールバック関数です。

関数内を見ると、コードの最初のブロックは、mysql を操作するための構成を設定するために使用されます。

host は、mysql インストールのアドレスを表します。私はローカルデータベースなので、localhost を直接使用します

#user は mysql のユーザー名を表します

#password は mysql のパスワードを表します

  • database は、操作するために選択する特定のライブラリの名前を表します

  • port はポートを表し、空白のままにすることができます。デフォルトは 3306

  • mysql.createConnection の戻り値 connection は、mysql の次の操作のための特定のオブジェクトであり、すべての操作メソッドはこれに基づいています。
  • 接続の connect メソッドを呼び出して、接続が成功したかどうかを確認します。失敗した場合は、エラー メッセージを出力して実行を停止します。

接続のクエリ メソッドを呼び出して SQL ステートメントをデータベースに直接送信し、コールバック関数を使用して結果を返します。パラメータは 3 つあります。コールバック関数の最初のパラメータはエラー オブジェクトです。操作が失敗した場合は、操作が停止され、エラー メッセージが表示されます。2 番目のパラメータは、特定の返された結果です。通常の状況では、これは大量の JSON を含む配列です。 3番目のパラメータも配列で、現在のデータがどのデータベースに属しているか、どのテーブルに属しているかなど、各データの説明が含まれます。最もよく使用する 2 番目のパラメーターは当然

# データベース操作の完了後に接続を閉じます

全体のプロセスは非常に単純ですが、問題が 2 つあります。1 つ目は、データベース接続が失われるという問題です。これに遭遇した人がいるかどうかはわかりません。初回接続時はデータベースは正常でしたが、2回目にホームページにアクセスするとデータベースに接続できず、接続が切れたというエラーが表示されます。その理由は、各データベース操作の後にデータベース接続を閉じるためです。データベースに再度アクセスすると、接続が見つからないため、接続を閉じる必要があります。db.js ファイルがホームページにアクセスするたびにアクセスされ、そのたびに新たなつながりが生まれていませんか?はい、最初に接続を生成したコードが db.query 関数内に配置されず、以下に示すように外部に配置されただけです。

これにより、接続は 1 回だけ生成され、接続が閉じられると、2 回目のインタビューは接続されなくなります。関数に配置した後、エクスポートを使用してインターフェースを外部に公開します。ホームページにアクセスするたびに、再度接続を作成するプロセスを経ることになり、そのたびに新しい接続が得られるため、アクセスに問題はありません。実際、接続プールはプロジェクト内で直接使用できます。多くの手間が省けました。

2 番目の問題は、server.js に db.js を導入したことです。

この時点で、mysql.query に 2 つのパラメータがあることがお分かりいただけたかもしれません。 1 つ目は SQL、2 つ目はコールバック関数です。コールバック関数には、実際にはデータベース クエリの結果である result パラメータがあります。クエリ結果を返すために db.js で return を直接使用しないのはなぜなのか、どのような種類のコールバックがあるのか​​と疑問に思う人もいるかもしれません。

実は、node.js の非同期によって引き起こされる問題がいくつかあります。server.js のコードを次の図のように変更すると、

mysql パッケージのクエリ メソッドは非同期操作であることがわかっているため、次の res.render() メソッドは結果のクエリを待たずに実行されます。結果はまだ出ていません。ページはレンダリングされていますが、データが取得されていないため、エラーが報告されます。したがって、コールバック関数を渡す必要がありました。mysql クエリ メソッドが終了した後、結果はパラメーターを介して自分で作成したコールバック関数に渡されるため、コールバック関数で結果を取得できます。次にレンダリングを実行します。もちろん、この問題に対処するために、サードパーティのパッケージ async を導入して非同期の問題を解決することもできますが、それは人によって異なります。

[関連する推奨事項: "Windows 環境に Nodejs をインストールするにはどうすればよいですか? 》]

以上がmysqlパッケージをnodejsにインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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