express从mysql数据库获取数据

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、方法要用对,不要把连接池的方法用到创建数据库连接上面去了。最好不要随便就赋值粘贴网上的代码片段,结合教程思考一下看懂用法自己写,不要复制粘贴再去摸索代码,找错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值