您的位置:首页 > 数据库 > MySQL

三、node.js连接mysql数据库

2014-11-01 21:55 567 查看
要链接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,那么就使用你的多线程思维,否则你会崩溃的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: