当前位置:   article > 正文

微信小程序 通过nodeJs操作MySQL进行数据交互_微信小程序mysql数据交互

微信小程序mysql数据交互

下面的操作,我是通过phpStudyNavicat for MySQL搭建起来的开发环境
我提供一个Navicat for MySQL的安装步骤:https://blog.csdn.net/mossbaoo/article/details/88661851
先来看看目前MySQL的数据:
在这里插入图片描述在这里插入图片描述
node连接MySQL,需要安装expressmysql模块

var express = require("express");
var mysql = require('mysql');
var app = express();

// 配置数据库信息
var connection = mysql.createConnection({
  host: 'localhost', // 主机地址
  // port: '3306', // 端口
  user: 'root', // 用户名
  password: 'root', // 密码
  database: 'websites' // 数据库名
});

// 连接
connection.connect();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

连接成功之后,就可以进行用户端与服务端的交互了,分为GETPOST
它们的区别是:GETreq.queryPOSTreq.body

GET

  1. 服务端代码(nodeJs)
app.get("/getType", function (req, res) {
  console.log(req.query);
  var sql = 'select * from mo_type_list';
  connection.query(sql , function (err, data) {
    if (err) {
      console.log(err);
    } else {
      var result = {
        "status": "200",
        "message": "success",
      }
      result.data = data;
      res.end(JSON.stringify(result));
    }
  });
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  1. 用户端代码(小程序)
getType() {
  let that = this;
  wx.request({
    url: 'http://localhost:3000/getType',
    method: 'GET',
    data: {},
    header: {
      'content-type': 'application/x-www-form-urlencoded'
    },
    success(res) {
      console.log(res.data.data)
    }
  })
},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  1. 请求结果
    在这里插入图片描述

POST

  1. 服务端代码(nodeJs),POST稍微麻烦点,需要body-parser模块
var express = require("express");
var mysql = require('mysql');
var bodyParser = require("body-parser"); // post需要
app.use(bodyParser.urlencoded({ extended: true })); // post需要

app.post("/addType", function (req, res) {
  var params = [req.body.name];
  var sql = "INSERT INTO mo_type_list(Id,name) VALUES(0,?)";
  connection.query(sql, params, function (err, data) {
    if (err) {
      res.end('error')
    } else {
      var result = {
        "status": "200",
        "message": 'success',
      }
      res.end(JSON.stringify(result))
    }
  });
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  1. 用户端代码(小程序)
addType() {
  let that = this;
   wx.request({
     url: 'http://localhost:3000/addType',
     method: 'POST',
     data: {
       name: '人事部'
     },
     header: {
       'content-type': 'application/x-www-form-urlencoded'
     },
     success(res) {
       console.log('success')
     }
   })
},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

服务端的全部代码

var express = require("express");
var querystring = require('querystring');
var mysql = require('mysql');
// post需要
var bodyParser = require("body-parser");

var app = express();

// post需要
app.use(bodyParser.urlencoded({ extended: true }));

// 跨域
app.all('*', function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  res.header("X-Powered-By", ' 3.2.1');
  res.header("Content-Type", "application/json;charset=utf-8");
  next();
});

// 配置数据库信息
var connection = mysql.createConnection({
  host: 'localhost',
  // port: '3306',
  user: 'root',
  password: 'root',
  database: 'websites'
});

// 连接
connection.connect();

// 获取类型列表
app.get("/getType", function (req, res) {
  var sql = 'select * from mo_type_list';
  connection.query(sql , function (err, data) {
    if (err) {
      console.log(err);
    } else {
      var result = {
        "status": "200",
        "message": "success",
      }
      result.data = data;
      res.end(JSON.stringify(result));
    }
  });
});

// 添加类型
app.post("/addType", function (req, res) {
  var params = [req.body.name];
  var sql = "INSERT INTO mo_type_list(Id,name) VALUES(0,?)";
  connection.query(sql, params, function (err, data) {
    if (err) {
      res.end('error')
    } else {
      var result = {
        "status": "200",
        "message": 'success',
      }
      res.end(JSON.stringify(result))
    }
  });
});

app.listen(3000);
console.log('3000 running');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/478804
推荐阅读
相关标签
  

闽ICP备14008679号