【npm项目地址】:https://www.npmjs.com/package/mysql
建立连接
const mysql = require("mysql");
const MysqlConfig = {
host: "localhost",
port: "3306",
user: "xujiayi",
password: "123456",
database: "clipboard"
}
let conn = mysql.createConnection(MysqlConfig);
conn.connect(function (err) {
if (err) {
console.log("error connecting:" + err.stack);
} else {
console.log("Mysql connected as id " + conn.threadId);
}
})
js
查询
conn.query(sql, params, (err, result, fields) => {
if (err) console.log(err)
else console.log(result, fields)
})
js
封装导出
//封装一下
export const QueryDB = (sql, params = []) => {
return new Promise((resolve, reject) => {
conn.query(sql, params, (err, result, fields) => {
if (err) reject(err)
else resolve(result, fields)
})
})
}
js
查询
const express = require("express");
const app = express();
import {QueryDB} from "./MysqlService";
app.use(express.json())
app.get("/search",(req,res,next)=>{
QueryDB("SELECT * FROM `tb_clipboard`").then(result=>{
console.log(result)
res.status(200).send(result)
}).catch(error=>{
console.log(error)
res.status(500).send("查询出错")
})
})
module.exports={
path:"api"
handler:app
}
js
优化 —— 建立连接池
const mysql = require("mysql");
const MysqlPoolConfig = {
host: "localhost",
connectionLimit: 20,
port: 3306,
user: "xujiayi",
password: "123456",
database: "clipboard"
}
const pool = mysql.createPool(MysqlPoolConfig);
pool.getConnection((err, conn) => {
if (err) console.log(err)
conn.query("SELECT * FROM `tb_clipboard`", [], (err, result, fields) => {
if (err) console.log(err)
else console.log(result, fields)
})
conn.release();
})
export const QueryDB = (sql, params = []) => {
return new Promise((resolve, reject) => {
pool.getConnection((err, conn) => {
if (err) reject(err)
conn.query(sql, params, (err, result, fields) => {
if (err) reject(err)
else resolve(result, fields)
})
conn.release();
})
})
}
js
查询和前面的方法一致