前提:本章会用到前两章所创建的数据库,利用express转发接口,将数据发送到视图层中,不会express的老铁们请自行google
备注:mysql 5.7.18 node v8.11.4 系统 macOS
使用express连接mysql
- 新建app.js文件
- 在app.js中引入express,mysql模块
- 配置config,创建连接池
- 利用app.get转发'/about'接口,并在其回调中调用pool.getConnection,,err是处理报错的参数,其中的传参规则就不多说了,仔细看看相信你不去查也能看懂~
- 判断err为false的时候,调用connection.query获取表runoob_tbl中的全部数据,rows就是我们要拿到的数据,利用res.send发送到视图层
- 在终端执行 node app.js 命令,执行我们的app.js
- 然后在浏览器输入 'http://localhost:3000/about'
- 结果为:
废话不多说,直接上数据库连接驱动demo代码:
var express = require('express');
var app = express();
var mysql = require('mysql');
let config = {
host: 'localhost',
user: 'root',
password: '******',
database: '******'
};
let pool = mysql.createPool(config);
let sql = 'select * from runoob_tbl'
app.get('/about', function (req, res) {
pool.getConnection((err, connection) => {
if (err) {
console.error(err)
} else {
connection.query(sql, (err, rows) => {
if (err) {
console.error(err)
} else {
res.send(rows)
}
connection.release()
})
}
})
});
app.listen(3000,function(){
console.log('express 正在监听 3000 端口')
});
ps:将mysql降级到5版本的话,连接还是很顺利的,8的话还是有很多坑,有时间再踩吧~~