Node.js使用MySQL连接池的方法实例

前端之家收集整理的这篇文章主要介绍了Node.js使用MySQL连接池的方法实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了Node.js使用MysqL连接池的方法分享给大家供大家参考,具体如下:@H_403_1@

Nodejs如何使用MysqL@H_403_1@

Nodejs要连接MysqL,可以使用Nodejs的MysqL驱动来实现。比如,我们这里使用"node-MysqL"连接数据库。我们使用下面的方式来连接数据库:@H_403_1@

首先,我们需要使用nodejs的包管理工具(npm)安装MysqL的驱动。命令行如下:@H_403_1@

sql

现在,要在js文件中使用MysqL添加下面的代码到你的文件中:@H_403_1@

MysqL = require('MysqL');

接下来,我们就可以使用这个模块来连接MysqL数据库。当然要连接数据库需要指定MysqL Server的host name,用户名和密码等。还有其他的很多选项可以设置,比如数据库的时区、socketPath、和本地地址等。@H_403_1@

MysqL.createConnection({ host : "hostName",user : "username",password: "password" });

那么,下面的代码会为你建立一个新的连接。@H_403_1@

使用这个连接对象,我们可以像下面一样查询数据库。我们可以使用connection.escape()方法防止sql注入。@H_403_1@

最后,我们可以用两种方法关闭连接。用connection.end或者connection.destroy。@H_403_1@

下面的表达式会确保所有队列中的查询数据库连接关闭前都会被执行。请注意,这里有一个回调函数。@H_403_1@

下面的表达式会立即关闭数据库连接。并且没有回调函数或者触发任何事件。@H_403_1@

Nodejs使用MysqL的连接池@H_403_1@

使用连接池可以帮助我们更好的管理数据库连接。数据库连接池可以限制连接的最大数量,复用已有的连接等。@H_403_1@

首先,我们需要创建一个连接池:@H_403_1@

MysqL = require('MysqL'); var pool = MysqL.createPool({ host : "hostName",password: "password" });

其次,我们可以从创建的连接池中获取到一个我们需要的连接:@H_403_1@

使用回调函数的参数connection来查询数据库。最后使用connection.realease()方法释放数据库连接。@H_403_1@

执行多条查询语句

@H_403_1@

为了安全起见,默认情况下是不允许执行多条查询语句的。要使用多条查询语句的功能,就需要在创建数据库连接的时候打开这一功能:@H_403_1@

MysqL.createConnection( { multipleStatements: true } );

这一功能打开以后,你就可以像下面的例子一样同时使用多条查询语句:@H_403_1@

node.js中MysqL连接池的使用@H_403_1@

如果不想程序在查询数据时卡死或等待过长时间,一般不推荐在node中开启一个连接后全部查询都用这个链接并且不关闭,因为,你试了就知道为什么了@H_403_1@

Node.js MysqL连接池模块@H_403_1@

1. 安装node的MysqL模块@H_403_1@

MysqL

2. 建立一个类库,就叫MysqL.js吧,然后内容如下:@H_403_1@

MysqL=require("MysqL"); var pool = MysqL.createPool({ host: 'localhost',user: 'user',password: 'password',database: 'database',port: port }); var query=function(sql,callback){ pool.getConnection(function(err,conn){ if(err){ callback(err,null,null); }else{ conn.query(sql,function(qerr,vals,fields){ //释放连接 conn.release(); //事件驱动回调 callback(qerr,fields); }); } }); }; module.exports=query;

3. 在js类使用如下@H_403_1@

MysqL.js"); query("select 1 from 1",fields){ //do something });

希望本文所述对大家nodejs程序设计有所帮助。@H_403_1@

猜你在找的Node.js相关文章