Maison > Article > base de données > Exemple d'analyse de la connexion Express à MySQL et au pool de connexions à la base de données
Ouvrez un nouveau projet Webstorm et sélectionnez Express pour créer un projet express.
Après une création réussie, la page est la suivante :
Afin de vous connecter à la base de données mysql, vous devez importer le module mysql.
Créez le fichier de configuration dans le projet, créez le fichier congfigdb.js dans le fichier de configuration pour vous connecter à la base de données, écrivez dans le fichier :
var mysql = { host: "127.0.0.1",//这是数据库的地址 user: "root",//需要用户的名字 password: "root23",//用户密码 ,如果你没有密码,直接双引号就是 database: "info",//数据库名字 port:3306//数据库使用的端口号 } module.exports = mysql;//用module.exports暴露出这个接口
const express = require('express'); const router = express.Router(); //导入MySQL 模块 const mysql = require('mysql'); //导入配置文件 const db = require('../config/configdb'); router.get('test',(req,res)=>{ //创建数据库连接对象 let conn = mysql.createConnection(db); //查询bookinfo中所有数据 conn.query('select * from student',(err,results,fieldes)=>{ //fieldes表示具体的字段 if(err){ throw err; } res.send(results); }) //关闭数据库链接 conn.end((err)=>{ console.log(err); }) module.exports = router;
Complete Ajoutez ensuite le fichier app.js :
var dbRouter = require('./routes/option') app.use('/db',dbRouter);
Testez dans Postman comme suit :
Le pool de connexions à la base de données sert à établir un un nombre suffisant d'objets de connexion à la base de données au démarrage du programme et forment un pool de ces objets de connexion, et le programme demande, utilise et libère dynamiquement les objets de connexion dans le pool.
Le pool de connexions à la base de données est responsable de l'allocation, de la gestion et de la libération des objets de connexion à la base de données. Il permet à une application de réutiliser un objet de connexion à une base de données existant. plutôt que d'en recréer un.
var mysql = require('mysql');
Créez un pool de connexion
var pool = mysql.createPool(options);
options Le paramètre est un objet et il existe de nombreuses configurations d'attributs. dans l'objet. Il est utilisé pour spécifier diverses options pour une utilisation unifiée des connexions dans le pool de connexions.
//创建数据库连接池 const pool = mysql.createPool({ connectionLimit:20, host:'localhost', port:3306, user:'root', password:'123456', database:'info' }) //导出数据库连接池对象 module.exports = pool;
connectionLimit
:用于指定连接池中最大的链接数,默认属性值为10.queueLimit
:用于指定允许挂起的最大连接数,如果挂起的连接数超过该数值,就会立即抛出一个错误,默认属性值为0.代表不允许被挂起的最大连接数。multipleStatements
:是否允许执行多条sql语句,默认值为falsehost
:数据库服务器的地址user
:连接数据库的用户名password
:连接数据库的密码database
: nom de la base de données
pool.getConnection((err, conn) => { if (err) { console.log(err) } else { let sql = 'select * from bookinfo'; conn.query(sql, (err, results) => { if (err) { console.log(err) } else { res.send(results); conn.release(); } }) } })
conn.release();
const express = require('express'); const pool = require('../config/dbmysql'); const router = express.Router(); /* * http://localhost:3000/dbmysql/books * */ router.get('/books',(req,res)=>{ //从数据库连接池中获取数据库连接对象 pool.getConnection((err,conn)=>{ if(err){ console.log(err) }else { let sql = 'select * from bookinfo'; conn.query(sql,(err,results)=>{ if (err) { console.log(err) }else { res.send(results); conn.release(); } }) } }) }) module.exports = router;
Test de résultat :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!