Het verbinden met een database in Node.js kan anders zijn, afhankelijk van het type databasemanagementsysteem (DBMS) dat je gebruikt. Voorbeeldonderstaand is hoe je verbinding kunt maken met een SQL-database met behulp van de mysql-module.
1. Installeer om te beginnen de mysql-module via npm, Node.js’ pakketbeheerder. Doe dit met de opdracht:
`npm install mysql`1. Importeer vervolgens de mysql-module in je script met de `require`-methode:
`const mysql = require(‘mysql’)`1. Maak een verbinding met de database. Zorg ervoor dat je de juiste gastheer (meestal localhost als je niet op een server werkt), gebruikersnaam, wachtwoord en databasenaam invoert:
\`\`\`js const dbConnection = mysql.createConnection({ host: ‘localhost’, user: ‘gebruikersnaam’, password: ‘wachtwoord’, database: ‘database\_naam‘ }) \`\`\` 1. Open de verbinding: \`\`\`js dbConnection.connect((err) => { if(err) { console.error(‘Error connecting: ‘ + err.stack) return } console.log(‘Connected as id ‘ + dbConnection.threadId) }) \`\`\`In elke database-interactie in de rest van je code moet je de `dbConnection`-object dat je net hebt gemaakt, gebruiken om database-acties uit te voeren, zoals SELECT, INSERT en UPDATE. Je kunt dit doen met de `query`-methode van het object:
```
dbConnection.query(‘SELECT * FROM myTable’, (err, rows) => {
if(err) throw err
Opmerking: vergeet niet om altijd de databaseverbinding te sluiten wanneer je klaar bent met een databasetransactie. Dit gebeurt meestal in je controllerlogica nadat een webverzoek is voltooid. Je kunt dit doen met de `end`-methode:
```
dbConnection.end((err) => {
// The connection is terminated gracefully
console.error(‘Connection closed’)
})
```
Afsluitend krijgen we dus een code structuur die er als volgt uitziet:
```
const mysql = require(‘mysql’)
const dbConnection = mysql.createConnection({
host: ‘localhost’,
user: ‘gebruikersnaam’,
password: ‘wachtwoord’,
database: ‘database_naam‘
})
dbConnection.connect((err) => { if(err) throw err
console.log(‘Connected to the database.’) dbConnection.query(‘SELECT * FROM myTable’, (err, rows) => { if(err) throw err console.log(‘Data received from the database:’) console.log(rows) dbConnection.end((err) => { if(err) throw err console.log(‘Connection to the database has been closed.’) }) }) }) ```