使用 Node.js + Express+MySQL 實現簡單的增刪改查

原文鏈接:https://www.jianshu.com/p/0a161f341771

在上篇文章 使用 Node.js + Express開發服務端 已經學習了NodeJS+Express基本用法,其中API接口返回的數據是假數據,並沒有關聯數據庫查詢。在本篇文章中我們將實現基本的數據交互並實現簡單的增刪改查。如果你還未閱讀上篇文章請移步閱讀~~~

1. 在上篇文章的項目基礎上配置MySQL

確保你電腦中已安裝了MySQL環境,我們使用的IDE爲Navicat. 新建test數據庫並新建一個 Table命名爲 user,添加幾條數據(用於查詢)

user表

Mysql的準備到此就準備完成,接下來是我們本篇教程的重點,怎樣使用NodeJS+Express鏈接MySQL

2. 安裝MySQL模塊

打開我們剛剛創建的 node_express工程 這裏我使用的是Visual Studio Code

node_express工程

接着執行如下命令

npm install 安裝mysql依賴

接着我們向工程中添加一個 db 目錄 用於存放MySQL配置信息
並在 db 目錄總新建一個 DBConfig.js 文件並添加如下內容

//mysql數據庫配置
module.exports = {
  mysql: {
    host:'127.0.0.1',
    port:'3306',
    user:'root',
    password:'這裏填寫你的mysql的連接密碼',
    database:'test'
  }
}

3. 添加API接口調用SQL語句

緊接着繼續在 db目錄中添加 Usersql.js 並鍵入如下內容

var UserSQL = {  
    insert:'INSERT INTO User(name,gender,age) VALUES(?,?,?)', 
    queryAll:'SELECT * FROM user',  
    getUserById:'SELECT * FROM user WHERE id = ? ',
  };
module.exports = UserSQL;

Usersql.js 的主要作用是提供增刪改查sql語句。

 改動routes 目錄中的users.js 向外暴露我們操作 User 的API接口。
這裏我只在 users.js 中添加一個 addUser/getAll 接口 內容如下

var express = require('express');
var router = express.Router();
//導入MySQL模塊
var mysql = require('mysql');
var dbConfig = require('../db/DBConfig');
var userSQL = require('../db/Usersql');
//使用DBConfig.js的配置信息創建一個MySQL連接池
var pool = mysql.createPool(dbConfig.mysql);
//響應一個JSON數據
var responseJSON = function(res, ret){
  if(typeof ret === 'undefined'){
    res.json({
      code:'-200',
      msg:'操作失敗'
    });
  }else{
    res.json(ret);
  }
};
//添加用戶
router.get('/addUser', function(req, res, next){
  //從連接池獲取連接
  pool.getConnection(function(err, connection){
    //獲取前臺頁面傳過來的參數
    var param = req.query || req.params;
    //建立連接 添加一個用戶信息
    connection.query(userSQL.insert, [param.name,param.gender,param.age], function(err, result){
      if(result){
        result = {
          code:200,
          msg:'添加成功'
        };
      }

      //以json形式,把操作結果返回給前臺頁面
      responseJSON(res, result);

      //釋放連接
      connection.release();

    });
  });
});

//查詢所有用戶
//添加用戶
router.get('/getAll', function(req, res, next){
  //從連接池獲取連接
  pool.getConnection(function(err, connection){
    // //獲取前臺頁面傳過來的參數
    // var param = req.query || req.params;
    //建立連接 添加一個用戶信息
    connection.query(userSQL.queryAll, function(err, result){
      console.log(result);

      //以json形式,把操作結果返回給前臺頁面
      responseJSON(res, result);

      //釋放連接
      connection.release();

    });
  });
});

module.exports = router;

接着重新啓動服務器 在瀏覽器訪問,或者用Postman都可以

http://127.0.0.1:3000/users/getAll

getAll返回結果

http://127.0.0.1:3000/users/addUser?name=helloMysql&gender=1&age=18

{
    "code": 200,
    "msg": "添加成功"
}

其他sql的語法大家可以自行體驗,這裏就不在一一贅述,如果你在測試過程中遇到問題歡迎留言交流.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章