Buka webstorm projek baharu dan pilih ekspres untuk mencipta ekspres projek.
Selepas berjaya dibuat, halaman tersebut adalah seperti berikut:
Untuk menyambung ke pangkalan data mysql, anda perlu mengimport modul mysql.
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暴露出这个接口
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;
Selepas selesai, tambahkan dalam fail app.js:
var dbRouter = require('./routes/option') app.use('/db',dbRouter);
Uji dalam Posmen seperti berikut :
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.
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.
var mysql = require('mysql');
Buat kumpulan sambungan Parameter pilihan
var pool = mysql.createPool(options);
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;
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 palsuhost
: Alamat pelayan pangkalan datauser
: Nama pengguna untuk menyambung ke pangkalan datapassword
: Kata laluan Pangkalan Data Sambungandatabase
: Nama 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(); } }) } })
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;
Ujian Keputusan:
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!