node+express+mysql入門

fishman發表於2018-04-24

環境要求

1.nodejs。

這裡就不多說了,若還沒安裝node的小夥伴請自行前往

https://nodejs.org/en/

2.express框架;

用官方的話來說就是

基於 Node.js 平臺,快速、開放、極簡的 web 開發框架。

安裝步驟:

npm install express -g

npm install expess-generator -g

安裝完express框架和express應用生成器我們需要使用express生成我們的專案

express myapp

進入我們的專案對於目錄

cd myapp

安裝mysql依賴包

npm install mysql

這時候對於node和express的環境準備先告一段落

3.mysql

通過官方下載該軟體

https://www.mysql.com/

我下載的是最新的8.0+版本。

使用該版本安裝過程中有個地方需要注意一下

在Authentication Method步驟的時候需要選擇第二個方式,否則待會在開發過程中連線資料庫會出現

Client does not support authentication protocol requested by server;

因為MYSQL client和server一起裝上了的

node+express+mysql入門

開啟你的mysql軟體node+express+mysql入門


開發

在專案的根目錄新建config資料夾

新建conf.js檔案,存放資料庫相關資訊;

var conf = { 

 mysql: 

{ host:"localhost", 

 user:"root",

 password:"123456", 

 database:"sakila", 

 port:3306 

 }};

module.exports = conf;

新建connect.js,存放資料庫連線函式;
const mysql = require("mysql");

const conf = require("./conf");

let conn;

function connect(){ 

 conn = mysql.createConnection(conf.mysql); 

 conn.connect(function(err){ 

 if(err) { 

 console.log("資料庫連結失敗, 錯誤資訊: " + err.message); 

 throw err; 

 } 

 }); 

 conn.on("error",function(err){ 

 if(err.code == "PROTOCOL_CONNECTION_LOST") { 

 console.log("資料庫斷開了連結, 正在嘗試重新連結資料庫..."); 

 connect(); } else { console.log("資料庫連結失敗, 錯誤資訊: " + err.message); throw err; 

 } 

 });

}

connect();

module.exports = conn;

現在我們完事具備。


我們來試試寫增刪改查


我是在express生成專案中的routes/users.js中做的demo開發


引入依賴

const express = require('express');

const router = express.Router();

const conf = require("../config/conf");

const conn = require("../config/connect");

查詢

router.get("/",function(req,res,next){ 

 let query = req.query; 

 let sqlStr = "select * from city"; 

 conn.query(sqlStr, function (err, result) { 

 if (err) { 

 res.send(err); 

 } else {

 res.send(result); 

 } 

 })

});

通過postman我們已經能看到資料了。

node+express+mysql入門


專案路徑:https://github.com/fishmankkk/node-e-mysql.git