您好,登錄后才能下訂單哦!
這篇文章主要介紹Express連接MySQL及數據庫連接池的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
打開webstorm新建項目選擇express創建一個express項目。
創建成功后其頁面如下:
為了連接mysql數據庫還需要導入mysql模塊。
在項目中創建config文件,在config文件中創建congfigdb.js文件用來連接數據庫,在文件中寫入:
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;
完成之后在app.js文件中添加:
var dbRouter = require('./routes/option') app.use('/db',dbRouter);
在Postman中測試如下:
數據庫連接池是程序啟動時建立足夠數量的數據庫連接對象,并將這些連接對象組成一個池,由程序動態地對池中的連接對象進行申請、使用和釋放。
數據庫的連接池負責分配、管理和釋放數據庫連接對象的。它允許應用程序重復使用一個現有的數據庫的連接對象。而不是重新創建一個。
var mysql = require('mysql');
創建連接池
var pool = mysql.createPool(options);
options 參數是一個對象,該對象中有很多屬性配置,該對象的作用是用于指定該連接池中連接統一使用的各種選項。
//創建數據庫連接池 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
:數據庫名
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;
結果測試:
以上是“Express連接MySQL及數據庫連接池的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。