1、首先npm install mysql --save安装mysql
2、在server文件夹下新建config文件夹,config中新建db.js文件,代码如下:
// 创建数据库连接
const mysql = require("mysql")
const connection = mysql.createConnection({
host: "101.132.36.129",
port: 3306,
user: "root",
password: "123456",
database: "websql"
})
connection.connect((err) => {
if (err) { console.log("连接失败") }
else { console.log("连接成功") }
})
let query=(sql, callback)=>{
connection.query(sql, function (err, rows) {
callback(err, rows);
});
// connection.end();//end()的话好像就只能连接一次的样子
}
// 创建连接池,连接池和创建数据库连接的区别目前还没搞懂
// const pool=mysql.createPool({
// host:"101.132.36.129",
// port:3306,
// user:"root",
// password:"123456",
// database:"sentence"
// });
// let query=(sql,callback)=>{
// pool.getConnection((err,connection)=>{
// console.log(connection)
// connection.query(sql,(err,rows)=>{
// callback(err,rows);
// connection.release()
// })
// })
// }
exports.query = query
3、然后在routes文件夹下写接口,我就写在index.js文件中吧,代码如下:
var express = require('express');
var router = express.Router();
let db=require("../config/db")
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/first',(req,res,next)=>{
let sql="select * from sentence"
db.query(sql,(err,rows)=>{
if(err){
res.json({err:"chucuole"})
}
else{
res.json({list:rows})
}
})
})
module.exports = router;
这里写了一个/first接口来获取sentence表里面的所有数据。
在前端请求接口就可以得到数据了
this.$axios.get("http://localhost:3000/first").then(res => {
this.msg = res.data.list;
console.log(this.msg);
});
this.msg就是一个包含所有数据的数组。
给自己的忠告:1、数据库的相关信息一定要写对,不然会报错,比如,数据库的 名字不要写成表名了。2、方法要用对,不要把连接池的方法用到创建数据库连接上面去了。最好不要随便就赋值粘贴网上的代码片段,结合教程思考一下看懂用法自己写,不要复制粘贴再去摸索代码,找错误。