1.连接池
- 注意:要考虑连接池数量的问题,链接数超过,服务器会崩
- 需要通过 pool.releaseConnection(con) 该语句释放连接池
const express = require('express')
const app = express()
const query = require('./db/index')
app.get('/',async (req, res)=>{
let sql = "select ?? from ?? limit ?,?"
let arr = ['*',"booklist",0,2]
let data = await query(sql, arr)
console.log(data)
res.send(data)
})
app.listen(3000, ()=>{console.log('http://localhost:3000')})
let mysql = require('mysql')
let pool = mysql.createPool({
host:"localhost",
user:"root",
password:"849127663",
prot:3306,
database:"novel"
})
function sqlQuery(str, arr){
return new Promise((resolve, reject)=>{
pool.getConnection((err, con)=>{
if(err) {
console.log("数据库连接失败")
reject(err)
}else{
con.query(str, arr, (error, result, filed)=>{
if(error){
console.log("数据查询失败")
console.log(error.sql)
reject(error)
}else{
resolve(result)
}
})
}
pool.releaseConnection(con)
})
})
}
module.exports = sqlQuery