三、node.js连接mysql数据库

来源:互联网 发布:linux assert 编辑:程序博客网 时间:2024/05/21 18:44
要链接mysql数据库必须要有mysql数据库驱动,这里我们通过修改package.json文件,在dependencies里增加mysql依赖,最终如下:



{

  "name": "application-name",

  "version": "0.0.1",

  "private": true,

  "scripts": {

    "start": "node app"

  },

  "dependencies": {

    "express": "*",

    "jade": "*",

    "mysql": "*"

  }

}



dependencies定义依赖包格式是"包名":"版本号",如果版本号为*则NPM自动使用最新版。



定义好依赖关系后我们再执行npm install,node_modules下会多出一个mysql驱动的文件夹。



接下来打开/routes/index.js文件,这是express自动生成的首页文件,后面我们会讲到路由关系定义,到时你就知道为什么它是首页文件了^_^。

index.js的内容很简单,只有几行代码。



exports.index = function(req, res){

    res.render('index');//呈现index视图

};



这里我直接给出修改后的的代码,并附上注释。



exports.index = function(req, res){

    var Client = require('mysql').Client;

    var client = new Client();

    client.user = 'root';//用户名

    client.password = 'root';//密码

    client.query('USE database');

    

    var sql = 'SELECT * FROM datatable';

    //if(req.params.id) sql += ' where id='+req.params.id;

    client.query(sql, function selectCb(err, results, fields) {

        if (err) {throw err;}

        //特别注意此部分!

        var data = '';

        for (var i=0; i<results.length; i++) {

            var row = results[i];

            data += 'id: ' + row['id']+'title: ' + row['title']+'<br />';

        }

        res.render('index', { data: data });

    });

};



这里请特别注意我标注的重点部分,先不要去管sql语句部分。由于JS最大的特性:非阻塞特性,所以对于返回数据的处理都要放在回调函数中,否则你可能根本得不到任何数据。

如果你对JS很熟悉或者会jQuery之类的JS框架,请使用JS的逻辑思维,如果你使用C++/JAVA,那么就使用你的多线程思维,否则你会崩溃的。

0 0
原创粉丝点击