zoukankan      html  css  js  c++  java
  • Node.js连接Mysql

    火热的夏天,突然想来个Nodejs加Mysql,练手不多解释。

    1.安装Nodejs, 官网自行下载:https://nodejs.org/en/download/,双击运行没什么好说的了

    Windows: https://nodejs.org/dist/v4.4.7/node-v4.4.7-x86.msi
    Mac: https://nodejs.org/dist/v4.4.7/node-v4.4.7.pkg
    

    2. 创建目录+安装Express+mysql

    $> mkdir DemoLear
    $> cd DemoLear
    $> mkdir routes
    $> npm install express
    $> npm install mysql

     目录结构:

    DemoLear

    |-- routes

      |-- mysql_route.js

    |-- sample1_mysql.js

    3. 代码 sample1_mysql.js

    var express = require('express');
    var app = express();
    
    // MiddleWare or usually around here
    // To-dos
    
    //API Router
    var router = express.Router();
    var index = require('./routes/mysql_route').router;
    app.use('/', index);
    
    //Start Server
    var server = app.listen(3000, function(){
        console.log("Server start at 127.0.0.1 3000");
    });

    4.代码: mysql_route.js

    var express = require('express');
    var router = express.Router();
    
    var mysql = require('mysql');
    var connnectionPool = mysql.createPool({
        host    : 'localhost',
        user    : 'root',
        password: 'XXXXX',
        database: 'test'
    });
    
    router.get('/:table', function(req, res){
        //res.send('Welcome Nodejs and Mysql ');
    
        connnectionPool.getConnection(function(err, db){
            if(err){
                console.error('CONNECTION error: ', err);
                res.statusCode = 503;
                res.send({
                    result : 'error',
                    err :  err.code
                });
            }
            else{
                //query the database
                console.log("CONNECTION SUCCESSFUL!");
                //res.send("CONNECTION SUCCESSFUL!");
    
                db.query('select * from '+ req.params.table , function(err, rows, fields){
                    if(err){
                        console.log("Query data ERROR!");
                    }
                    res.send({
                        result: 'success',
                        err: '',
                        fields: fields,
                        data: rows,
                        count : rows.length
                    });
                    db.release();
                });
            }
        });
    
    });
    
    module.exports.router = router;

    5. Mysql,服务:locahost, 表:artical,用户:root,密码:XXXXX

    6. 运行命令行:

    $> node sample1_mysql.js
    

    7. 访问:

    http://localhost:3000/artical

    表名作为Url传递(红色字)

    8.效果:

     9.总结:开发效率还是挺快的。

  • 相关阅读:
    MS CRM 2011 RC中的新特性(4)——活动方面之批量编辑、自定义活动
    最近的一些有关MS CRM 2011的更新
    MS CRM 2011 RC中的新特性(6)——连接
    MS CRM 2011 RC中的新特性(7)—仪表板
    参加MS CRM2011深度培训课程——第一天
    MS CRM 2011插件调试工具
    MS CRM2011实体介绍(四)——目标管理方面的实体
    MS CRM 2011 RC中的新特性(3)——客户服务管理方面
    MS CRM 2011 RC中的新特性(8)—数据管理
    ExtAspNet 登陆
  • 原文地址:https://www.cnblogs.com/dzone/p/5746617.html
Copyright © 2011-2022 走看看