三、node.js连接mysql数据库

要链接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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值