Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment fournir une connexion à la base de données mysql dans un seul fichier dans nodejs

Vous pouvez créer un wrapper db puis l'exiger. node's require renvoie la même instance d'un module à chaque fois, vous pouvez donc effectuer votre connexion et renvoyer un gestionnaire. À partir de la documentation Node.js :

Vous pouvez créer db.js :

var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : '127.0.0.1',
    user     : 'root',
    password : '',
    database : 'chat'
});

connection.connect(function(err) {
    if (err) throw err;
});

module.exports = connection;

Puis dans votre app.js , vous en auriez simplement besoin.

var express = require('express');
var app = express();
var db = require('./db');

app.get('/save',function(req,res){
    var post  = {from:'me', to:'you', msg:'hi'};
    db.query('INSERT INTO messages SET ?', post, function(err, result) {
      if (err) throw err;
    });
});

server.listen(3000);

Cette approche vous permet d'abstraire tous les détails de connexion, d'envelopper tout ce que vous souhaitez exposer et d'exiger db tout au long de votre application tout en maintenant une connexion à votre base de données grâce au fonctionnement de node require :)