Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk memasang pakej mysql dalam nodejs

Bagaimana untuk memasang pakej mysql dalam nodejs

青灯夜游
青灯夜游asal
2021-09-16 11:38:035488semak imbas

Anda boleh menggunakan alat npm untuk memasang pakej mysql dalam nodejs Kaedah pemasangan khusus: 1. Buka terminal dan masukkan direktori projek yang ditentukan; 2. Jalankan arahan "npm install mysql --save". dan tunggu muat turun dan pemasangan selesai.

Bagaimana untuk memasang pakej mysql dalam nodejs

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 14.15.4, komputer DELL G3.

Cara memasang pakej mysql dan menyambung MySQL dengan nodejs

Pertama, pasang nodejs dan npm.

Ditulis contoh kecil yang ringkas Keseluruhan contoh kecil menggunakan rangka kerja ekspres dan templat ejs telah dimuat turun dalam node_modules. Mari kita lihat direktori dahulu:

Bagaimana untuk memasang pakej mysql dalam nodejs

server.js => fail permulaan pelayan node.js

db.js => fail operasi pangkalan data

views => Simpan fail templat, iaitu, di mana semua halaman disimpan

awam => Simpan semua sumber statik, seperti imej css js dan seumpamanya

Cara menyambung ke MySQL:

Langkah pertama ialah memasang pakej npm yang dipanggil MySQL Pakej ini disediakan secara rasmi dan kestabilannya sudah tentu, terdapat pakej npm yang lain. di sini kita hanya menggunakan pakej mysql. Kaedah pemasangan adalah sangat mudah. ​​Masukkan arahan npm install mysql --save dan tunggu muat turun selesai

Apabila anda melihat ini, pemasangan berjaya.

Kemudian kami membuka fail db.js dan menulis beberapa kod yang diperlukan untuk operasi pangkalan data. Lihat gambar di bawah:

Kod itu sangat kecil. bermakna Ia juga jelas bahawa langkah pertama memerlukan pengenalan pakej mysql Kemudian kami mencipta objek kosong dan menetapkannya kaedah yang dipanggil pertanyaan Kaedah ini menerima dua parameter. Parameter kedua ialah fungsi panggil balik untuk mendapatkan hasil pertanyaan.

Melihat di dalam fungsi, blok kod pertama digunakan untuk menetapkan konfigurasi untuk mengendalikan mysql:

hos mewakili alamat pemasangan mysql, kerana Saya adalah pangkalan data tempatan, jadi gunakan localhost terus

  • pengguna mewakili nama pengguna mysql

  • kata laluan mewakili kata laluan mysql

  • pangkalan data mewakili nama pustaka khusus yang anda mahu pilih untuk dikendalikan

  • port mewakili port, yang boleh dibiarkan kosong 🎜>

Nilai pulangan mysql.createConnection, sambungan, ialah objek khusus untuk operasi mysql kami yang seterusnya Semua kaedah operasi adalah berdasarkannya.

Panggil kaedah sambungan untuk menentukan sama ada sambungan berjaya Jika gagal, cetak mesej ralat dan berhenti berjalan.

Panggil kaedah pertanyaan sambungan untuk menghantar kenyataan SQL terus ke pangkalan data, dan gunakan fungsi panggil balik untuk mengembalikan hasilnya dalam fungsi panggil balik, Parameter pertama ialah objek ralat Jika operasi gagal, ia akan berhenti dan mencetak mesej ralat Parameter kedua ialah hasil yang dikembalikan dalam keadaan biasa, ia adalah tatasusunan yang mengandungi banyak json. Parameter ketiga juga merupakan tatasusunan Mengandungi penjelasan setiap data, seperti pangkalan data mana yang dimiliki oleh data semasa, jadual mana, dsb. Parameter kedua yang paling kami gunakan adalah secara semula jadi

Apabila operasi pangkalan data selesai, tutup sambungan

Seluruh prosesnya sangat mudah, tetapi terdapat dua masalah yang pertama ialah masalah sambungan pangkalan data yang hilang buat kali pertama, sambungan Pangkalan data adalah normal Apabila saya melawat halaman utama untuk kali kedua, pangkalan data tidak boleh disambungkan, dan ralat dilaporkan mengatakan bahawa sambungan terputus. Sebab untuk ini ialah kami menutup sambungan pangkalan data selepas setiap operasi pangkalan data Apabila kami mengakses pangkalan data sekali lagi, kami tidak dapat mencari sambungan, tetapi sambungan perlu ditutup Sesetengah orang mungkin merasa aneh bahawa fail db.js diakses setiap kali kita melawati laman utama. Bukankah terdapat sambungan baharu yang dihasilkan setiap kali? Ya, cuma kod yang menjana sambungan pada mulanya tidak diletakkan dalam fungsi db.query, tetapi diletakkan di luar, seperti yang ditunjukkan di bawah:

Ini akan menyebabkan sambungan dijana sekali sahaja Selepas ia ditutup, temuduga kedua tidak akan disambungkan. Selepas meletakkannya dalam fungsi, gunakan eksport untuk mendedahkan antara muka kepada dunia luar. Setiap kali anda melawat halaman utama, anda akan melalui proses membuat sambungan semula, dan anda akan mendapat sambungan baharu setiap kali, jadi tidak akan ada masalah untuk mengakses. Malah, kolam sambungan boleh digunakan secara langsung dalam projek. Menyelamatkan banyak masalah.

Masalah kedua ialah kami memperkenalkan db.js dalam server.js

Pada ketika ini anda mungkin telah melihat bahawa terdapat dua Parameter mysql.query , yang pertama ialah sql, yang kedua ialah fungsi panggil balik Fungsi panggil balik mempunyai parameter hasil, yang sebenarnya merupakan hasil pertanyaan pangkalan data. Sesetengah orang mungkin bertanya mengapa tidak menggunakan return terus dalam db.js untuk mengembalikan hasil pertanyaan, apakah jenis panggilan balik yang ada?

Malah, berikut adalah beberapa masalah yang disebabkan oleh asynchrony node.js Jika kita menukar kod dalam server.js kepada gambar berikut

Oleh kerana kami telah melihat bahawa kaedah pertanyaan bagi pakej mysql ialah operasi tak segerak, yang menyebabkan kaedah res.render() berikut tidak menunggu keputusan untuk ditanya sebelum melaksanakannya keputusan belum keluar lagi. Halaman telah diberikan, tetapi data belum diperoleh, jadi ralat akan dilaporkan. Oleh itu, kami terpaksa menghantar fungsi panggil balik. Selepas kaedah pertanyaan mysql tamat, keputusan dihantar ke fungsi panggil balik yang kami tulis sendiri melalui parameter, supaya kami boleh mendapatkan keputusan dalam fungsi panggil balik. Kemudian lakukan rendering. Sudah tentu, untuk menangani masalah ini, anda juga boleh memperkenalkan pakej pihak ketiga async untuk menyelesaikan masalah tak segerak Ia bergantung kepada individu.

[Cadangan berkaitan: "Bagaimana untuk memasang nodej dalam persekitaran windows? 》】

Atas ialah kandungan terperinci Bagaimana untuk memasang pakej mysql dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn