mysql 数据路由_node-路由操作mysql数据库
node大部分方法都是異步的,在操作數據庫方法后面緊接著輸出結果,輸出的結果只會為空值,使用promise及其方便的解決這個問題,接下來看看node如何使用路由來處理不同請求,進而操作mysql數據庫
一、引入相關依賴
node中默認沒有mysql,需要使用npm i mysql指令進行安裝
const http = require('http');
const url = require('url');
const queryStr = require('querystring');
var mysql = require('mysql');
二、連接mysql數據庫
配置本地mysqli數據庫相關參數
var connection = mysql.createConnection({
host: 'localhost',*
user: 'root',*
password: '你的數據庫密碼',
*database: 'xxxx'
});
connection.connect();
三、使用promise async,await封裝處理異步問題的函數
// Promise async,await解決異步問題
function fn(sql, data = []) {
return new Promise((success) => {
connection.query(sql, data, function (error, results) {
if (!error) {
success(results)
}
});
})
}
四、node啟動服務
通過判斷請求路徑來給與請求不同的響應,調用promise處理異步問題
var obj = {};*
http.createServer(async (req, res) => {
res.writeHead(200, {*
'Content-Type': 'text/html; charset=utf-8'
});
// 解析請求路徑以及參數
const { pathname, query } = url.parse(req.url);
if (pathname != '/favicon.ico') {*
switch (pathname) {
case '/':
var sql = "select * from user";
var result = await fn(sql);
obj = {
code: 1,
data: result
}
break;
case '/list':*
var data = queryStr.parse(query).tel;
console.log(data);*
*var sql = `select * from user where tel =${data}`;
var result = await fn(sql);
console.log(result);
obj = {
code: 2,
data: result
}*
break;
}
}
res.end(JSON.stringify(obj));
}).listen(10086)
console.log('http:localhost:10086');
總結
以上是生活随笔為你收集整理的mysql 数据路由_node-路由操作mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: core identity mysql_
- 下一篇: mysql多数据源事务_多数据源一致性事