前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 NodeJS+Express+MySQL 实现简单的增删改查

使用 NodeJS+Express+MySQL 实现简单的增删改查

作者头像
100001509164
发布2022-01-20 21:38:40
3.7K0
发布2022-01-20 21:38:40
举报
文章被收录于专栏:DevTipsDevTips

在上篇文章 【使用NodeJS+Express开发服务端】我们已经学习了NodeJS+Express基本用法,你可能会记得我们的API接口返回的数据是假数 据并没有关联数据查询。在本篇文章中我们将实现基本的数据交互并实现简单 的增删改查。如果你还未阅读上篇文章请移步阅读~~~

1

准备工作

首先我们使用Express生成一个空的Express项目

  1. cd /Users/SPRINT/Desktop 进入桌面
  2. express MysqlDemo 生成一个MysqlDemo项目
  3. cd MysqlDemo/ 进入项目根目录
  4. npm install 安装依赖模块
  5. npm start 启动服务器

启动完成后如果没有错误发生访问 http://localhost:3000/ 将看到 Welcome to Express 信息

2

配置MySQL

确保你电脑中已安装了MySQL环境,我们使用的IDE为MySQLWorkbench. 首先我们新建一个Connection

打开刚刚新建的Connection并新一个数据库并命名为 ExpressDB

接下来我们新建一个 Table 并命名为 User

从上图看到我们增加了两列

代码语言:javascript
复制
 uid INT(11) 用户id
userName VARCHAR(25) 用户姓名

Mysql的准备到此就准备完成,接下来是我们本篇教程的重点,怎样使用NodeJS+Express链接Mysql

3

安装MySQL模块

打开我们刚刚创建的 MysqlDemo 工程 这里我推荐使用WebStorm 或者 HBuilder 作为演示我们使用 WebStorm 打开工程

首先我们打开 package.json 在 dependencies 选项中添加

"mysql": "latest"

接着执行如下命令

代码语言:javascript
复制
 npm install 安装mysql依赖
 npm start 启动服务器

接着我们向工程中添加一个 db 目录 用于存放MySQL配置信息。

接着在 db 目录总新建一个 DBConfig.js 文件并添加如下内容

代码语言:javascript
复制
module.exports = {
    mysql: {
        host: '127.0.0.1',
        user: 'root',
        password: '你的数据库Coonection密码',
        database:'ExpressDB', // 前面建的user表位于这个数据库中
        port: 3306
    }
};

完成后工程目前的结构如下

4

添加API接口调用SQL语句

紧接着我们继续在 db目录中添加 usersql.js 并键入如下内容

代码语言:javascript
复制
/**
 * Created by sprint on 16/7/23.
 */
var UserSQL = {
    insert:'INSERT INTO User(uid,userName) VALUES(?,?)',
    queryAll:'SELECT * FROM User',
    getUserById:'SELECT * FROM User WHERE uid = ? ',
};

module.exports = UserSQL;

usersql.js 的主要作用是提供增删改查sql语句。

紧接着我们还需要在 routes 目录中添加一个users.js 向外暴露我们操作 User 的API接口。

为了添加测试数据暂时向 users.js 中添加一个 addUser 接口 内容如下

代码语言:javascript
复制
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 === '?developer/article/1937907/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.uid,param.name], function(err, result) {

      console.log(err);

      if(result) {
        result = {
          code: 200,
          msg:'增加成功'
        };
      }

      // 以json形式,把操作结果返回给前台页面
      responseJSON(res, result);

      // 释放连接
      connection.release();
    });
  });



});


module.exports = router;

重点内容已添加了注释,接着我们重新启动服务器 在浏览器访问

http://localhost:3000/users/addUser?uid=4&name=helloMySQL

如果添加成功页面将会输出

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

其他sql的语法大家可以自行体验,这里就不在一一赘述,如果你在测试过程中遇到问题欢迎留言交流

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-23,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 DevTips 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com