express mysqlデータベースからデータを取得

2283 ワード

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;

ここにはsentenceテーブル内のすべてのデータを取得するための/firstインタフェースが書かれています.
フロントエンドリクエストインタフェースでデータが得られます
this.$axios.get("http://localhost:3000/first").then(res => {
  this.msg = res.data.list;
  console.log(this.msg);
});

this.msgは、すべてのデータを含む配列です.
 
自分の忠告:1、データベースの関連情報は必ず正しいことを書いて、さもなくば間違いを報告して、例えば、データベースの名前は表名に書かないでください.2、方法は正しく、接続プールの方法をデータベース接続の作成に使用しないでください.ネット上のコードの断片を勝手に貼り付けないで、チュートリアルと結びつけて使い方を考えて自分で書いて、コピーして貼り付けないでコードを模索して、間違いを探したほうがいいです.