Come connettersi a un database in Node JS?

Come connettersi al server di database MySQL da un’applicazione NodeJS . Ci sono alcune opzioni per interagire con MySQL da un’applicazione node.js.

Come connettersi a un database in Node JS? 1

Come connettersi a un database in NodeJS?

Ti mostreremo come utilizzare il driver node.js per MySQL chiamato mysqljs / mysql .

  • Innanzitutto, crea una cartella per archiviare l’applicazione node.js.
npm init
  • In secondo luogo, installa il pacchetto node.js per MySQL usando il seguente comando:
npm installa mysql
  • In terzo luogo, creare connect.js all’interno della cartella node-mysql per archiviare il codice che si collega al server di database MySQL.
  • Useremo il database todoapp per la dimostrazione, pertanto, è necessario creare il database sul server del database MySQL eseguendo la seguente istruzione CREATE DATABASE :
CREA DATABASE todoapp;
  • Una volta creato il database, si è pronti per connettersi ad esso dall’applicazione Node.js.

Connessione al server di database MySQL da Node.js

  • Innanzitutto, importa il modulo mysql usando la seguente istruzione:
let mysql = require ('mysql');
  • In secondo luogo, creare una connessione al database MySQL chiamando il metodo createConnection () e fornendo informazioni dettagliate su server, host, utente, password e database MySQL.
let connection = mysql.createConnection ({
host: "localhost",
utente: "root",
password: '',
database: 'todoapp'
});
  • Creiamo una connessione al database todoapp sul server del database locale.
  • In terzo luogo, chiamare il metodo connect () sull’oggetto connessione per connettersi al server di database MySQL:
connection.connect (function (err) {
if (err) {
return console.error ('error:' + err.message);
}
console.log ('Connesso al server MySQL.');
});
  • Il metodo connect () accetta una funzione di callback che ha l’argomento error che fornisce l’errore dettagliato se si verifica un errore.

Come connettersi a un database in Node JS? 1

Proviamo il programma connect.js.

> nodo connect.js

Collegato al server MySQL

Se vedi il messaggio ” connesso al server MySQL “, quindi congratulazioni, ti sei connesso con successo al server del database MySQL da node.js.

Supponiamo che il database todoapps non esista sul server database e che provi a connetterti ad esso, apparirà un messaggio di errore:

> nodo connect.js
errore: ER_BAD_DB_ERROR: database sconosciuto 'todoapps'
Si noti che tutti i metodi richiamati nella connessione Gli oggetti vengono messi in coda ed eseguiti in sequenza.
Chiudi la connessione al database
Per chiudere correttamente una connessione al database, chiamare il metodo end () sull'oggetto connessione.
Il metodo end () garantisce che tutte le query rimanenti vengano sempre eseguite prima della chiusura della connessione al database.
connection.end (function (err) {
if (err) {
return console.log ('error:' + err.message);
}
console.log ('Chiudi la connessione al database.');
});

Per forzare la chiusura immediata della connessione, è possibile utilizzare il metodo destroy () . Il metodo destroy () assicura che non saranno attivati ​​più callback o eventi per la connessione.

connection.destroy ();

Si noti che il metodo destroy () non accetta argomenti di callback come il metodo end ().

Raggruppare le connessioni

Il driver MySQL per il modulo node.js offre una funzione di pool di connessioni integrata. Supponiamo di voler creare un gruppo di connessioni di 5:

var pool = mysql.createPool ({
connectionLimit: 5,
host: "localhost",
utente: "root",
password: '',
database: 'todoapp'
});
Per ottenere una connessione dal gruppo, utilizzare il metodo getConnection ():
pool.getConnection (function (err, connection) {
// esegue la query
// ...
});

Per restituire una connessione al gruppo una volta terminata

Puoi chiamare connection.release () . Successivamente, la connessione sarà disponibile nel gruppo e sarà pronta per l’uso da parte di un’altra persona.

pool.getConnection (function (err, connection) {
// esegui query
// ...
connnection.release ();
});

Per chiudere una connessione e rimuoverla dal raggruppamento

  • Utilizzare il metodo connection.destroy () . Una nuova connessione verrà creata nel gruppo se ne è necessaria una la prossima volta.
  • Per chiudere tutte le connessioni nel gruppo, utilizzare il metodo end () dell’oggetto gruppo come segue:
pool.end (function (err) {
if (err) {
return console.log (err.message);
}
// chiude tutte le connessioni
});
 

Potrebbe interessarti

Lascia un commento