关闭

node.js——链接MySQL数据库

113人阅读 评论(0) 收藏 举报
分类:

node.js链接数据有两种方式:直接连接通过连接池链接

备注:无论何种链接,都需要安装MySQL调用包,安装指令:npm install mysql -g

一、直接连接

var mysql=require('mysql');

var connection=mysql.createConnection({
	host:'localhost',
	user:'root',
	password:'neusoft.',
	database:'xyongtest',
	post:'3306'
});

connection.connect(function(err){
	if(err){
		console.log(err.toString());
	}
});

//增加
/*var sql="insert into user(uname,pwd) value(?,?)";
var val=['王五','5555'];
connection.query(sql,val,function(err,rs){
	if(err){
		console.log(err);
	}else{
		console.log(rs);
		console.log('插入成功');
	}

});*/

//查询
connection.query('select * from user',function(err,rs){
	if(err){
		console.log(err);
	}else{
		for(var i=0;i<rs.length;i++){
			console.log(rs[i]);
		}
	}
});

connection.end(function(err){
	if(err){
		console.log(err.toString());
	}
});


二、连接池连接

备注:需额外安装node.js的mysqlpool模块,安装指令:npm install -g node-mysql   //-g表全局   

1、创建一个js文件( optPool.js ),用于创建MySQL连接池,其它模块若需要链接数据库,可以直接调用

var mysql=require('mysql');

function OptPool(){
	this.flag=true;
	this.pool=mysql.createPool({
		host:'localhost',
		user:'root',
		password:'neusoft.',
		port:'3306',
		database:'xyongtest'
	});
	this.getPool=function(){
		if(this.flag){
			this.pool.on('connection',function(connection){
				connection.query('set session auto_increment_increment=1');
				this.flag=false;
			});
		}
		return this.pool;
	};
}

module.exports=OptPool;
2、其它模块可使用该连接池链接数据库
var optPool=require('./optPool.js');

var Pool=new optPool();
var pool=Pool.getPool();

pool.getConnection(function(err,conn){
	if(err){
		console.log(err.message);
	}else{
		//进行查询操作
		conn.query('select * from user',function(err,rs){
			if(err){
				console.log(err.message);
			}else{
				for(var i=0;i<rs.length;i++){
					console.log("姓名为:"+rs[i].uname+";密码为:"+rs[i].pwd);
				}
				conn.release();
			}
		});
	}
});
 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:149244次
    • 积分:2919
    • 等级:
    • 排名:第13653名
    • 原创:135篇
    • 转载:107篇
    • 译文:0篇
    • 评论:4条
    最新评论