node.js——链接MySQL数据库

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();
			}
		});
	}
});
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值