亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Express連接MySQL及數(shù)據(jù)庫(kù)連接池技術(shù)實(shí)例

 更新時(shí)間:2022年02月17日 09:58:20   作者:六葉草~  
數(shù)據(jù)庫(kù)連接池是程序啟動(dòng)時(shí)建立足夠數(shù)量的數(shù)據(jù)庫(kù)連接對(duì)象,并將這些連接對(duì)象組成一個(gè)池,由程序動(dòng)態(tài)地對(duì)池中的連接對(duì)象進(jìn)行申請(qǐng)、使用和釋放,本文重點(diǎn)給大家介紹Express連接MySQL及數(shù)據(jù)庫(kù)連接池技術(shù),感興趣的朋友一起看看吧

Express連接MySQL

準(zhǔn)備工作

打開(kāi)webstorm新建項(xiàng)目選擇express創(chuàng)建一個(gè)express項(xiàng)目。

創(chuàng)建成功后其頁(yè)面如下:

為了連接mysql數(shù)據(jù)庫(kù)還需要導(dǎo)入mysql模塊。

創(chuàng)建配置文件

在項(xiàng)目中創(chuàng)建config文件,在config文件中創(chuàng)建congfigdb.js文件用來(lái)連接數(shù)據(jù)庫(kù),在文件中寫入:

var mysql = {
    host: "127.0.0.1",//這是數(shù)據(jù)庫(kù)的地址
    user: "root",//需要用戶的名字
    password: "root23",//用戶密碼 ,如果你沒(méi)有密碼,直接雙引號(hào)就是
    database: "info",//數(shù)據(jù)庫(kù)名字
    port:3306//數(shù)據(jù)庫(kù)使用的端口號(hào)
}
module.exports = mysql;//用module.exports暴露出這個(gè)接口

創(chuàng)建操作數(shù)據(jù)庫(kù)的接口文件

const express = require('express');
const router = express.Router();
//導(dǎo)入MySQL 模塊
const mysql = require('mysql');
//導(dǎo)入配置文件
const db = require('../config/configdb');

router.get('test',(req,res)=>{
    //創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象
    let conn = mysql.createConnection(db);
    //查詢bookinfo中所有數(shù)據(jù)
    conn.query('select * from student',(err,results,fieldes)=>{
        //fieldes表示具體的字段
        if(err){
            throw err;
        }
        res.send(results);
    })
    //關(guān)閉數(shù)據(jù)庫(kù)鏈接
    conn.end((err)=>{
        console.log(err);
})
module.exports = router;

完成之后在app.js文件中添加:

var dbRouter = require('./routes/option')
app.use('/db',dbRouter);

在Postman中測(cè)試如下:

數(shù)據(jù)庫(kù)連接池技術(shù)

什么是數(shù)據(jù)庫(kù)連接池

數(shù)據(jù)庫(kù)連接池是程序啟動(dòng)時(shí)建立足夠數(shù)量的數(shù)據(jù)庫(kù)連接對(duì)象,并將這些連接對(duì)象組成一個(gè)池,由程序動(dòng)態(tài)地對(duì)池中的連接對(duì)象進(jìn)行申請(qǐng)、使用和釋放。

數(shù)據(jù)庫(kù)連接池的作用是什么?

數(shù)據(jù)庫(kù)的連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接對(duì)象的。它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)的連接對(duì)象。而不是重新創(chuàng)建一個(gè)。

數(shù)據(jù)庫(kù)連接池技術(shù)實(shí)例

1、導(dǎo)入mysql模塊

var mysql = require('mysql'); 

2、創(chuàng)建數(shù)據(jù)庫(kù)連接池

創(chuàng)建連接池

var pool = mysql.createPool(options);

options 參數(shù)是一個(gè)對(duì)象,該對(duì)象中有很多屬性配置,該對(duì)象的作用是用于指定該連接池中連接統(tǒng)一使用的各種選項(xiàng)。

//創(chuàng)建數(shù)據(jù)庫(kù)連接池
const pool = mysql.createPool({
    connectionLimit:20,
    host:'localhost',
    port:3306,
    user:'root',
    password:'123456',
    database:'info'
})
//導(dǎo)出數(shù)據(jù)庫(kù)連接池對(duì)象
module.exports = pool;

connectionLimit:用于指定連接池中最大的鏈接數(shù),默認(rèn)屬性值為10.
queueLimit:用于指定允許掛起的最大連接數(shù),如果掛起的連接數(shù)超過(guò)該數(shù)值,就會(huì)立即拋出一個(gè)錯(cuò)誤,默認(rèn)屬性值為0.代表不允許被掛起的最大連接數(shù)。
multipleStatements :是否允許執(zhí)行多條sql語(yǔ)句,默認(rèn)值為false
host:數(shù)據(jù)庫(kù)服務(wù)器的地址
user:連接數(shù)據(jù)庫(kù)的用戶名
password:連接數(shù)據(jù)庫(kù)的密碼
database:數(shù)據(jù)庫(kù)名

3、獲取數(shù)據(jù)庫(kù)鏈接對(duì)象

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、釋放數(shù)據(jù)庫(kù)連接對(duì)象

conn.release();

完整實(shí)例

const express = require('express');
const pool = require('../config/dbmysql');

const router = express.Router();
/*
* http://localhost:3000/dbmysql/books
* */
router.get('/books',(req,res)=>{
    //從數(shù)據(jù)庫(kù)連接池中獲取數(shù)據(jù)庫(kù)連接對(duì)象
    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;

結(jié)果測(cè)試:

到此這篇關(guān)于Express連接MySQL及數(shù)據(jù)庫(kù)連接池技術(shù)的文章就介紹到這了,更多相關(guān)Express連接mysql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL數(shù)據(jù)庫(kù)壓縮版本安裝與配置詳細(xì)教程

    MySQL數(shù)據(jù)庫(kù)壓縮版本安裝與配置詳細(xì)教程

    今天教各位小伙伴怎么安裝及配置Mysql數(shù)據(jù)庫(kù),文中有非常詳細(xì)的圖文解說(shuō)及代碼示例,對(duì)剛?cè)腴Tmysql的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • mysql存儲(chǔ)過(guò)程如何利用臨時(shí)表返回結(jié)果集

    mysql存儲(chǔ)過(guò)程如何利用臨時(shí)表返回結(jié)果集

    這篇文章主要介紹了mysql存儲(chǔ)過(guò)程如何利用臨時(shí)表返回結(jié)果集,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 教你3個(gè)步驟為Mysql添加只讀賬號(hào)

    教你3個(gè)步驟為Mysql添加只讀賬號(hào)

    只要公司有數(shù)據(jù)團(tuán)隊(duì)的那免不了讓這幫家伙把全公司的數(shù)據(jù)庫(kù)數(shù)據(jù)都摸一遍,但是要是直接把root用戶給了他們有點(diǎn)危險(xiǎn),于是只能給設(shè)權(quán)限,這篇文章主要給大家介紹了關(guān)于如何通過(guò)3個(gè)步驟為Mysql添加只讀賬號(hào)的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 在Windows主機(jī)上定時(shí)備份遠(yuǎn)程VPS(CentOS)數(shù)據(jù)的批處理

    在Windows主機(jī)上定時(shí)備份遠(yuǎn)程VPS(CentOS)數(shù)據(jù)的批處理

    我想在自己的 Windows7 下每天/周運(yùn)行一次備份,就有了這個(gè)小工具
    2012-05-05
  • MySQL一鍵安裝Shell腳本的實(shí)現(xiàn)

    MySQL一鍵安裝Shell腳本的實(shí)現(xiàn)

    本文主要介紹了MySQL一鍵安裝Shell腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • MySQL存儲(chǔ)IP地址的方法

    MySQL存儲(chǔ)IP地址的方法

    本文介紹了MySQL存儲(chǔ)IP地址的方法其目的就是最大限度的優(yōu)化性能,需要的朋友可以參考下
    2015-07-07
  • Mysql 乘法除法精度不一致問(wèn)題(除法后四位小數(shù))

    Mysql 乘法除法精度不一致問(wèn)題(除法后四位小數(shù))

    這篇文章主要介紹了Mysql 乘法除法精度不一致,除法后四位小數(shù),本文通過(guò)問(wèn)題分析實(shí)例代碼講解,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問(wèn)題解決

    MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問(wèn)題解決

    由于安裝數(shù)據(jù)庫(kù)時(shí)將MySQL的數(shù)據(jù)目錄放在了根目錄下,現(xiàn)在存儲(chǔ)空間不足,遇到這個(gè)問(wèn)題如何解決呢,下面小編給大家?guī)?lái)了mysql移動(dòng)數(shù)據(jù)目錄啟動(dòng)失敗解決方法,感興趣的朋友一起看看吧
    2023-04-04
  • Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式

    Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式

    這篇文章主要介紹了Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • MySQL中的行級(jí)鎖定示例詳解

    MySQL中的行級(jí)鎖定示例詳解

    這篇文章主要給大家介紹了關(guān)于MySQL中行級(jí)鎖定的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論