首先我们使用Express生成一个空的Express项目
cd /Users/SPRINT/Desktop 进入桌面 express MysqlDemo 生成一个MysqlDemo项目 cd MysqlDemo/ 进入项目根目录 npm install 安装依赖模块 npm start 启动服务器
启动完成后如果没有错误发生访问 http://localhost:3000/ 将看到 Welcome to Express 信息
确保你电脑中已安装了MySQL环境,我们使用的IDE为MySQLWorkbench. 首先我们新建一个Connection
打开刚刚新建的Connection并新一个数据库并命名为 ExpressDB
接下来我们新建一个 Table 并命名为 User
从上图看到我们增加了两列
uid INT(11) 用户id userName VARCHAR(25) 用户姓名
Mysql的准备到此就准备完成,接下来是我们本篇教程的重点,怎样使用NodeJS+Express链接Mysql
打开我们刚刚创建的 MysqlDemo 工程 这里我推荐使用WebStorm 或者 HBuilder 作为演示我们使用 WebStorm 打开工程
首先我们打开 package.json 在 dependencies 选项中添加
"mysql": "latest"
接着执行如下命令
npm install 安装mysql依赖 npm start 启动服务器
接着我们向工程中添加一个 db 目录 用于存放MySQL配置信息
并在 db 目录总新建一个 DBConfig.js 文件并添加如下内容
module.exports = { mysql: { host: '127.0.0.1', user: 'root', password: '你的数据库Coonection密码', database:'ExpressDB', // 前面建的user表位于这个数据库中 port: 3306 } };
完成后工程目前的结构如下
紧接着我们继续在 db目录中添加 usersql.js 并键入如下内容
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 接口 内容如下
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.uid,param.name], function(err, result) { 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的语法大家可以自行体验,这里就不在一一赘述,如果你在测试过程中遇到问题欢迎留言交流.