koa,node,express通用方法連線mysql

夏頓天發表於2018-11-15

這個教程不管node,express,koa都可以用下面方法連線,這裡用koa做個參考

這是寫給小白的教程,大佬勿噴,謝謝

原始碼地址:github.com/xiaqijian/k…

新建檔案目錄,我是這樣子的

image.png

很多教程都沒有涉及到版本,所以讓很多初學者,拷貝他的程式碼,出現錯誤問題 我的版本:

 "dependencies": {
    "koa": "^2.6.2",
    "mysql": "^2.16.0"
  }
複製程式碼

1.設定配置檔案

// default.js
// 設定配置檔案
const config = {
    // 啟動埠
    port: 3000,
  
    // 資料庫配置
    database: {
      DATABASE: 'ceshi',
      USERNAME: 'root',
      PASSWORD: '1234',
      PORT: '3306',
      HOST: 'localhost'
    }
  }
  
  module.exports = config

複製程式碼

2.連線資料庫

// mysql/index.js

var mysql = require('mysql');
var config = require('../config/default.js')

var pool  = mysql.createPool({
  host     : config.database.HOST,
  user     : config.database.USERNAME,
  password : config.database.PASSWORD,
  database : config.database.DATABASE
});


class Mysql {
    constructor () {

    }
    query () {
      return new Promise((resolve, reject) => {
        pool.query('SELECT * from ceshidata', function (error, results, fields) {
            if (error) {
                throw error
            };
            resolve(results)
            // console.log('The solution is: ', results[0].solution);
        });
      })
       
    }
}

module.exports = new Mysql()

複製程式碼

3.設定伺服器

// index.js
const Koa = require('koa')
const config = require('./config/default')
const mysql = require('./mysql')

const app =  new Koa()

app.use(async (ctx) => {
    let data = await mysql.query()
    ctx.body = {
        "code": 1,
        "data": data,
        "mesg": 'ok'
    }
    
})

app.listen(config.port)

console.log(`listening on port ${config.port}`)

複製程式碼

4.啟動伺服器,去瀏覽器訪問

先去資料庫新增點資料

node index.js
複製程式碼

開啟瀏覽器localhost:3000, 然後你就會看到以下資料,自己新增的資料查詢出來了

image.png

然後其他相關操作,可以看mysql相關API,我下次也會分享出來

首發於微信公眾號:node前端

不妨關注一下,我們一起學習

回覆:100

有福利哦

相關文章