node.js——链接MySQL数据库

来源:互联网 发布:js绑定click事件 编辑:程序博客网 时间:2024/06/11 15:22

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

原创粉丝点击