连接池解释:连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。
- 定义一个pool存放池
var pool = mysql.createPool({
})
?????2.把数据库执行命令放在里面就行?
pool.getConnection((err, connection) => {
});?
Node.js :
- ?引进express框架
- 设置跨域访问请求
- 写端口号和监听端口
- 连接数据库,并且定义pool连接池存放数据
- 把数据库执行命令(增删查改)放在 pool.getConnection((err, connection) => { ...});里面就行?
?增加:
?
查找:?
?
前端:?
跟上一篇文章一样运行即可,操作一样~
完整代码 :
//1.固定的,引进express框架
const express = require('express')
const app = express()
//2.设置跨域访问请求
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
//3.端口号
const port = 3000
//3.1 监听端口
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
//4.连接数据库
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'chat'
});
//5.根据参数添加数据到数据库
//把数据库执行命令放在pool.getConnection((err, connection) => {
// ...
// });?就行?
app.get('/insert/:id/:userid/:content/:sayTime',(req,res)=>{
pool.getConnection((err,connection) => {//连接池
var addSql = 'INSERT INTO `chat`(`id`,`userid`,`content`,`sayTime`) VALUES(?,?,?,?)';
var addSqlParams = [req.params.id,req.params.userid,req.params.content,req.params.sayTime];
//增
connection.query(addSql, addSqlParams, function (err, result) {
if (err) {
console.log('[INSERT ERROR] - ', err.message);
return;
}
console.log(result)
res.send("添加数据成功!!");//添加成功后,输出这条数据在页面!
//释放连接
connection.release();
});
});
});
//5.1 根据id查询数据库里面的数据
app.get("/list/:id",(req,res)=>{
pool.getConnection((err,connection) =>{
let searchSql = 'SELECT * from `chat` WHERE `id` = ? '
let searchParams = [req.params.id]
connection.query(searchSql,searchParams,(err,result) =>{
res.send(result)
connection.release()
})
});
});
?
?
?
?
|