亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Express連接MySQL及數據庫連接池的示例分析

發布時間:2022-03-03 14:51:39 來源:億速云 閱讀:294 作者:小新 欄目:開發技術

這篇文章主要介紹Express連接MySQL及數據庫連接池的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

    Express連接MySQL

    準備工作

    打開webstorm新建項目選擇express創建一個express項目。

    Express連接MySQL及數據庫連接池的示例分析

    創建成功后其頁面如下:

    Express連接MySQL及數據庫連接池的示例分析

    為了連接mysql數據庫還需要導入mysql模塊。

    Express連接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中測試如下:

    Express連接MySQL及數據庫連接池的示例分析

    數據庫連接池技術

    什么是數據庫連接池

    數據庫連接池是程序啟動時建立足夠數量的數據庫連接對象,并將這些連接對象組成一個池,由程序動態地對池中的連接對象進行申請、使用和釋放。

    數據庫連接池的作用是什么?

    數據庫的連接池負責分配、管理和釋放數據庫連接對象的。它允許應用程序重復使用一個現有的數據庫的連接對象。而不是重新創建一個。

    數據庫連接池技術實例

    1、導入mysql模塊
    var mysql = require('mysql');
    2、創建數據庫連接池

    創建連接池

    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語句,默認值為false
    host:數據庫服務器的地址
    user:連接數據庫的用戶名
    password:連接數據庫的密碼
    database:數據庫名

    3、獲取數據庫鏈接對象
    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();
                }
            })
        }
    })
    4、釋放數據庫連接對象
    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及數據庫連接池的示例分析

    以上是“Express連接MySQL及數據庫連接池的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    龙山县| 元谋县| 田阳县| 宜都市| 长宁区| 前郭尔| 固阳县| 乡城县| 乌苏市| 天津市| 巴林左旗| 南丰县| 乳山市| 于都县| 长泰县| 诏安县| 东海县| 宁蒗| 麟游县| 镇雄县| 临西县| 双城市| 榕江县| 巴林左旗| 伊春市| 琼海市| 梨树县| 新泰市| 勐海县| 英吉沙县| 安陆市| 金川县| 澄城县| 临夏市| 土默特右旗| 乌拉特后旗| 宜都市| 永丰县| 辽阳县| 舒城县| 繁昌县|