NodeJS使用express与mysql实现查询功能

最近正在使用Vue+Node制作项目,于是决定写一个使用Node.js+Express搭建服

务器的教程


步骤:

一 开发前的准备:

1、安装Node.js

     官网下载安装

2、安装Express

    使用npm,指令如下:

    npm install express -g    首先输入

    npm install express-generator -g 第二步输入

3、对项目进行初始化

    目录位置打开命令行

    输入 express+项目的名称(这里使用server)

这里会提示:

NodeJS使用express与mysql实现查询功能_第1张图片

4、安装依赖

    进入server文件夹调出cmd输入指令:

    npm install

5、到此安装完成

主要文件介绍:

    routers:路由,用于确定应用如何响应对特定端点客户机的请求,包括一个URI或者路径和一个特定HTTP请求方法(GET/POST),每个路由可以包含一个或者多个处理程序函数,这些函数在路由配置的时候执行

    app.js:服务器启动的入口

这个时候我们可以在根目录打开命令行,输入npm start来启动我们的服务器

启动成功后在浏览器输入localhost:3000即可看到:

NodeJS使用express与mysql实现查询功能_第2张图片

证明没有问题

二、简单的DEMO

在浏览器访问localhost:3000的时候,调用的是index.js中的接口

创建一个路由的格式:

    app.method(path,handler)

    //app为express实例

    //method: HTTP请求的方式

    //path:服务器路径

    //handler:路由匹配时执行的函数

    index.js中的


router.get('/', function(req, res, next) {
    res.render('index', { title: 'Express' });
});

    代表着:/->对get请求进行相应

简单的例子:

    目标:实现一个获取地区的接口:

步骤:

    1、在routers下创建一个city.js

    2、创建一个City模型:

    function City(){

        this.cityname;

    }

    module.exports = City;

    3、在users.js文件引入

    文件顶部:

    var URL = require('url');

    var City = require('./city');

    4、编写路由:

    router.get('/getCity',function(req,res,next){

        var city = new City();

        var params = URL.parse(req.url,true).query;    //获取url

        if(params.id == '1'){

            city.cityname:'北京';

        }else{

            city.cityname:'秦皇岛';

        }

    var response = {status:1,data:city};

    res.send(JSON.stringify(response));

    })

因为users在app.js中已经注册,所以重启服务器直接访问:

    localhost:3000/users/getCity?id=1

即可获得返回数据

三、实战-连接数据库

步骤:

一、战前准备:

    1、安装mysql模块:

    打开server文件夹下的package.json在dependencies中添加:

    "mysql":"latest"

    然后打开cmd,执行以下npm:

    npm install 安装mysql

    npm start

二、开始

    1、新建database文件夹,用于存放我们mysql的配置信息

    2、在database目录中新建DBConfig.js文件,写入:

    module.exports = 

        {

            mysql:{

                            host:'127.0.0.1',

                            user:'root',

                            password:'密码',

                            database:'数据库名',

                            post:3306

                       }

        }

    3、添加API接口用来调用sql语句

    在database中写入querysql.js并写入:

    var UserSQL = {

                                query:'SELECT * FROM 表名'

    }

    4、在routers目录添加一个users.js来发送操作数据库的API

    这个例子添加一个query接口,在users.js写入:

var express = require('express');

var router = express.Router();

//引入mysql模块

var mysql = require("mysql");

//引入文件

var dbConfig = require('./database/DBConfig');

var querySql = require('querysql');

//使用DBConfig中配置信息创建一个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('/query' , function(req,res,next){

pool.getConnection(function(err,connection){

var params = req.query || req.params;        //前端传的参数(暂时写这里,在这个例子中没用)

connection.query(qusrySql.UserSQL,function(err,result){

    //将结果以json形式返回到前台

    responseJSON(res,result);

    //释放链接

    connection.release();

})

})

})

这个时候重新启动服务器,浏览器输入localhost:3000/users/query会输出返回的结果

你可能感兴趣的:(web前端,后端)