Rumah > pangkalan data > tutorial mysql > Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

WBOY
Lepaskan: 2023-06-03 17:58:04
ke hadapan
1399 orang telah melayarinya

    Express menyambung ke MySQL

    Kerja penyediaan

    Buka webstorm projek baharu dan pilih ekspres untuk mencipta ekspres projek.

    Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

    Selepas berjaya dibuat, halaman tersebut adalah seperti berikut:

    Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

    Untuk menyambung ke pangkalan data mysql, anda perlu mengimport modul mysql.

    Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

    Buat fail konfigurasi

    Buat fail konfigurasi dalam projek, buat fail configdb.js dalam fail konfigurasi untuk menyambung ke pangkalan data dan tulis dalam fail :

    var mysql = {
        host: "127.0.0.1",//这是数据库的地址
        user: "root",//需要用户的名字
        password: "root23",//用户密码 ,如果你没有密码,直接双引号就是
        database: "info",//数据库名字
        port:3306//数据库使用的端口号
    }
    module.exports = mysql;//用module.exports暴露出这个接口
    Salin selepas log masuk

    Buat fail antara muka untuk mengendalikan pangkalan data

    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;
    Salin selepas log masuk

    Selepas selesai, tambahkan dalam fail app.js:

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

    Uji dalam Posmen seperti berikut :

    Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

    Teknologi kumpulan sambungan pangkalan data

    Apakah kumpulan sambungan pangkalan data?

    Kolam sambungan pangkalan data mewujudkan bilangan sambungan pangkalan data yang mencukupi objek apabila atur cara bermula, dan memindahkan objek sambungan ini ke Kumpulan terbentuk, dan atur cara secara dinamik digunakan untuk, menggunakan dan melepaskan objek sambungan dalam kolam.

    Apakah peranan kumpulan sambungan pangkalan data?

    Kolam sambungan pangkalan data bertanggungjawab untuk memperuntukkan, mengurus dan melepaskan objek sambungan pangkalan data. Ia membenarkan aplikasi untuk menggunakan semula objek sambungan pangkalan data sedia ada. daripada mencipta semula satu.

    Contoh teknologi kumpulan sambungan pangkalan data

    1 Import modul mysql
    var mysql = require('mysql');
    Salin selepas log masuk
    2. Buat kumpulan sambungan pangkalan data

    Buat kumpulan sambungan Parameter pilihan

    var pool = mysql.createPool(options);
    Salin selepas log masuk

    ialah objek dengan banyak konfigurasi atribut Objek digunakan untuk menentukan pelbagai pilihan untuk penggunaan sambungan dalam kumpulan sambungan.

    //创建数据库连接池
    const pool = mysql.createPool({
        connectionLimit:20,
        host:'localhost',
        port:3306,
        user:'root',
        password:'123456',
        database:'info'
    })
    //导出数据库连接池对象
    module.exports = pool;
    Salin selepas log masuk

    connectionLimit: digunakan untuk menentukan bilangan maksimum sambungan dalam kumpulan sambungan, nilai atribut lalai ialah 10.
    queueLimit: digunakan untuk menentukan bilangan maksimum sambungan yang dibenarkan untuk menggantung, jika Jika bilangan sambungan yang digantung melebihi nilai ini, ralat akan dilemparkan serta-merta Nilai atribut lalai ialah 0. Ia mewakili bilangan maksimum sambungan yang tidak dibenarkan untuk digantung.
    multipleStatements: Sama ada untuk membenarkan pelaksanaan berbilang pernyataan sql, nilai lalai adalah palsu
    host: Alamat pelayan pangkalan data
    user: Nama pengguna untuk menyambung ke pangkalan data
    password: Kata laluan Pangkalan Data Sambungan
    database: Nama pangkalan data

    3 Dapatkan objek pautan pangkalan data
    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();
                }
            })
        }
    })
    Salin selepas log masuk
    4 🎜>
    conn.release();
    Salin selepas log masuk
    Contoh penuh

    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;
    Salin selepas log masuk

    Ujian Keputusan:

    Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data

    Atas ialah kandungan terperinci Contoh analisis sambungan Express ke MySQL dan kumpulan sambungan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan