下载好node.js和通过npm安装好express.js后,先写package.json

{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/nodemon/bin/nodemon.js app.js"
},
"dependencies": {
"express": "3.4.8",
"jade": "*",
"mysql":"*",
"underscore":"*"
},
"devDependencies":{
"nodemon":"*"
}
}

nodemon是当js文件修改后,重新启动node.js进程,方便测试;

npm install安装依赖

其中一个start命令是用于启动服务器时,直接使用npm start来执行此命令;

新建立两个文件夹,models和config

写一个config配置文件,去连接mysql的:

module.exports = {
mysql_dev: {
host: 'localhost',
user: 'dbu user',
password: 'your password',
database: 'your db name',
connectionLimit: 10,
supportBigNumbers: true
}
};

再写上一个database.js文件:

var mysql = require('mysql');
var config = require('../config/config'); var pool = mysql.createPool(config.mysql_dev); exports.pool = pool;

在models里建立一个User.js文件作为model:

var db = require('./database');
var _ = require('underscore'); var User = function() {}; User.prototype.find = function(id, callback) {
var sql = "SELECT * FROM users WHERE id =?";
// get a connection from the pool
db.pool.getConnection(function(err, connection) {
if (err) {
callback(true);
return;
}
// make the query
connection.query(sql, [id], function(err, results) {
if (err) {
callback(true);
return;
}
callback(false, results);
});
});
}; module.exports = User;

最后在app.js里引入,再调用:

var User = require('./models/User');

//.......

app.get('/users/:userid',function(req,res){
var userid = req.params.userid;
var user = new User();
user.find(userid,function(err,result){
if(err){
res.send('not found');
}
res.send(result.length === 1 ? result[0]:result);
}); });

这样就简单地完成一个后端的node.js分级结构,前端提供rest请求。

[Node.js]expressjs简单测试连接mysql的更多相关文章

  1. Centos7 中 Node.js安装简单方法

    最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...

  2. 创建node.js一个简单的应用实例

    在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...

  3. 使用 Node.js 实现简单的 Webhook

    距离 Node.js 这个东西出来已经过了好久了,感觉现在的前端如果不会点 Node.js 就有点太落后于时代啦.我接触它是从去年暑假开始的,当时在写一个比较神奇的东西,就顺便接触了一下.虽然网传 n ...

  4. 用node.js实现简单的web服务器

    node.js实现web服务器还是比较简单的,我了解node.js是从<node入门>开始的,如果你不了解node.js也可以看看! 我根据那书一步一步的练习完了,也的确大概了解了node ...

  5. node.js作为“简单HTTP服务器”

    场景 当我学习一个JavaScript库的时候,需要一个非常简单的HTTP服务器把当前工作路径变为网站根目录,由此来访问网页的静态信息.现在,除了下边的脚本server.js,假设你已经拥有: 一个工 ...

  6. Nodejs入门-基于Node.js的简单应用

    服务端JavaScript 众所周知的,JavaScript是运行在浏览器的脚本语言,JavaScript通常作为客户端程序设计语言使用,以JavaScript写出的程序常在用户的浏览器上运行.直至N ...

  7. 利用node.js来实现长连接/聊天(通讯实例)

    首先: 需要在服务器端安装node.js,然后安装express,socket.io这两个模块,并配置好相关的环境变量等. 其次: 服务端代码如下: var app = require('expres ...

  8. vue之node.js的简单介绍

    一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...

  9. vue学习【第三篇】:vue之node.js的简单介绍

    什么是node.js 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 安装node.js node.js的特性 - 非阻塞IO模型 - 时 ...

随机推荐

  1. [转载]string转化大小写(C++)

    如何将一个字符串转换成大写或者小写?这是字符串匹配中经常需要做的事情,然而C++的Standard Library并没有提供将std::string转成大写和小写的功能,只有在提供将char转成大写( ...

  2. windows系统部署discuz并和javaweb账号连通同步

    一.Discuz安装说明 1.安装wamp集成环境 (1)下载wampserver集成环境 网址:(http://wampserver-64bit.en.softonic.com)或百度搜索下载 (2 ...

  3. Android studio 配置JNI环境

    Android studio配置jni开发环境,主要配置是两个build文件,以及新建一个jni文件,放c代码. 代码如下1: apply plugin: 'com.android.model.app ...

  4. python运维开发(十一)----线程、进程、协程

    内容目录: 线程 基本使用 线程锁 自定义线程池 进程 基本使用 进程锁 进程数据共享 进程池 协程 线程 线程使用的两种方式,一种为我们直接调用thread模块上的方法,另一种我们自定义方式 方式一 ...

  5. 安装apk到虚拟的device

    adb device 显示你的设备 adb install  apk包

  6. 期末考试--nyoj-757

    期末考试 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 马上就要考试了,小T有许多作业要做,而且每个老师都给出来了作业要交的期限,如果在规定的期限内没 交作业就会扣期末 ...

  7. 最少步数(bfs)

    最少步数 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 ...

  8. QT:浮动的饼状统计图(自绘不规则窗口)

    昨天在玩手机游戏时,见到一个游戏的饼状投票统计图很漂亮,所以我今天也花了一个下午来实现了一个类似的程序娱乐一下,呵呵. 思路:1:将窗体设为Qt::FramelessWindowHint和Qt::WA ...

  9. OSCHina技术导向:Java WEB企业门户平台Liferay

    Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了We ...

  10. poj 1273 Drainage Ditches_最大流模版

    #include <iostream> #include<cstdio> #include<queue> #include<cstring> using ...