美文网首页前端学习程序员Node.js专题
Node.js的MySQL基础2——Express 4.x与My

Node.js的MySQL基础2——Express 4.x与My

作者: Mike的读书季 | 来源:发表于2016-08-08 12:17 被阅读324次

    0.目标

    上一节介绍了一套完整的通过Express对MySQL数据库进行操作的方法及步骤。本节的目标是使用Express 4.x来做一个简单的操作MySQL的例子。


    1.部署

    首先,安装Express应用生成器:

    npm install express-generator -g
    

    安装完后,可在任意位置使用express命令。打开一个命令行,输入下面指令可查看Express版本(注意-V是大写)

    express -V
    

    从终端进入你的工作目录,然后在该目录下创建一个名为“myapp”:

    express myapp
    

    进入这个目录

    cd myapp
    

    安装所有包依赖

    npm install
    

    安装完毕后,启动这个应用:

    set DEBUG=myapp & npm start
    

    2.目录结构

    下面是Express 4.x应用生成器生成的目录。我们暂时不研究这个结构,如果你想更了解,请参看官网:http://www.expressjs.com.cn/starter/generator.html

     .
     ├── app.js
     ├── bin
     │   └── www
     ├── package.json
     ├── public
     │   ├── images
     │   ├── javascripts
     │   └── stylesheets
     │       └── style.css
     ├── routes
     │   ├── index.js
     │   └── users.js
     └── views
     ├── error.jade
     ├── index.jade
     └── layout.jade
    
    

    7 directories, 9 files

    我们将在routes/users.js文件中做一个操作MySQL数据库的Demo


    3.数据库操作

    打开routes/users.js文件, 对路由的函数进行重写:

    var mysql      = require('mysql');
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'root',
      password : '',
      database :'onelib',      // 数据库名称
    });
    
    connection.connect();
    
    connection.query('SELECT * FROM tasks WHERE id=32', function(err, rows, fields) {
      if (err) throw err;
      console.log('The solution is: ', rows[0]);
      res.json(rows[0]);
    });
    
    connection.end();
    
    

    相对上一节的代码,这里的代码会比较直观。当然,这样的代码相当于把MVC全写在了一个文件里,虽然直观,但不利于管理和代码复用。所以说,在实际开发中,还是要按MVC分层编写。

    更多数据库的操作Demo可参考Express官网:http://www.expressjs.com.cn/guide/database-integration.html


    原创文章,未经许可,请勿转载
    作者:Mike的读书季
    日期:2016.08.08
    QQ:1139904786
    Blog:http://blog.csdn.net/kkdestiny

    相关文章

      网友评论

        本文标题:Node.js的MySQL基础2——Express 4.x与My

        本文链接:https://www.haomeiwen.com/subject/hkhrsttx.html