三、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,那么就使用你的多线程思维,否则你会崩溃的。
{
"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,那么就使用你的多线程思维,否则你会崩溃的。
相关文章推荐
- Node.js下Mysql数据库连接
- node.js平台下的mysql数据库配置及连接
- Node.js学习(二)——Node.js连接mysql数据库
- Node.js数据库操作之连接MySQL数据库(一)
- node.js 连接mysql数据库 完美教程
- node.js服务器mysql数据库连接超时的问题(Error: connect ETIMEDOUT)
- 三、node.js连接mysql数据库
- Node.js连接mysql数据库
- node.js连接mysql数据库增删改
- Node.JS mysql数据库连接
- Node.js实现连接mysql数据库功能示例
- node.js连接mysql数据库
- Node.js开发 ---- 连接MySql数据库
- node.js如何连接mysql数据库并且如何操作增、删、改、查
- Node.js连接MySQL数据库及构造JSON的正确姿势
- node.js连接mongodb数据库警告:(Please ensure that you set the default write concern)
- 了不起的Node.js--之五 TCP连接
- node.js连接MySQL
- node.js 连接 mysql
- Node.js连接Sql Server 2008