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

Nodejs如何使用MysqL

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

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

sql

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

MysqL = require('MysqL');

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

MysqL.createConnection({

host : "hostName",user : "username",password: "password"

});

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

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

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

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

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

Nodejs使用MysqL的连接池

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

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

MysqL = require('MysqL');

var pool = MysqL.createPool({

host : "hostName",password: "password"

});

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

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

执行多条查询语句

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

MysqL.createConnection( { multipleStatements: true } );

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

node.js中MysqL连接池的使用

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

Node.js MysqL连接池模块

1. 安装node的MysqL模块

MysqL

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

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类使用如下

MysqL.js");

query("select 1 from 1",fields){

//do something

});

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

相关文章

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

node mysql 连接池创建_Node.js使用MySQL连接池的方法实例相关推荐

  1. MySQL会回收使用中的连接吗_Node.js实现mysql连接池使用事务自动回收连接的方法示例...

    本文实例讲述了Node.js实现mysql连接池使用事务自动回收连接的方法.分享给大家供大家参考,具体如下: var mysql = require('mysql'), Connection = re ...

  2. node mysql 查询_Node.js使用mysql进行查询详解

    本篇教程介绍了Node.js使用mysql进行查询详解,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入. < 因为返回的是个对象 var selectSql1=&quo ...

  3. expressjs如何做mysql注入_Node.js+Express+Mysql 实现增删改查

    这次选用nodejs+express+mysql 使用http作为客户端,express框架搭建服务端,从而实现数据的增删改查.这篇文章可以算作上篇文章的升级篇,加入了和数据库的交互. 安装 node ...

  4. js修改mysql数据库数据_Node.js操作mysql数据库增删改查

    关于node.js操作mysql数据库的相关介绍请阅读全文吧.下文介绍的非常详细,具体内容如下所示: 安装mysql模块 npm install mysql 数据库准备 mysql server所在的 ...

  5. mysql 9.0创建数据库_PHP与MySQL学习笔记9:创建Web数据库

    1.在服务器上部署MySQL服务基本步骤合注意点 1)安装MySQL(命令安装.安装包安装等) 2)考虑是否需要一个独立的操作系统用户权限来运行MySQL程序. 3)路径的设置 4)root密码 (附 ...

  6. windows服务器上安装的有mysql环境怎么创建数据库_Windows环境MySQL数据库安装方法...

    1.下载Windows版本的MySQL 1.1.首先需要下载Windows版本的mysql安装文件,然后安装MySQL数据库环境,安装成功后还需要对MySQL数据库进行相关配置.具体操作步骤如下: 1 ...

  7. win7系统怎样创建新的连接服务器,win7怎么创建一个新的宽带连接|win7创建一个新的宽带连接方法...

    电脑安装上win7专业版系统后,一般都是采取拨号上网,直接点击宽带连接即可.但是有些用户说桌面没看到宽带连接图标,怎么办呢?我们可以创建一个新的宽带连接,那么该怎么操作呢?带着此疑问,我们一起来看下w ...

  8. 线程池创建与注入,以及线程池参数失效

    一.MyThreadPool public class MyThreadPool {/*** 自定义线程名称,方便的出错的时候溯源*/private static ThreadFactory name ...

  9. node mysql 搭建博客_node.js+Hexo+Git搭建个人博客

    今早上考完试回来,接到腾讯云的每月邮件续费通知. 对于一个小开发来讲,买一个云服务器建站最方便不过,但是对于学生党来说还是有些贵. 一想明年7月份,云服务器就一元每月变65每月,加上30来块的域名费, ...

最新文章

  1. 一致性哈希算法及其在分布式系统中的应用
  2. java并发编程--Executor框架
  3. Linux/Unix the definition of cpu-nice
  4. SQL Server 数据库的维护(四)__游标(cursor)
  5. Python中的一些小语法
  6. Java基础入门笔记-构造方法的继承
  7. 潘在亮:给业务开发提供黑科技装备的“测试Q博士”
  8. Web开发之一:Web UI技术综述
  9. Unable to establish loopback connection异常解决
  10. 为企业量身定制IT资产管理解决方案(一)
  11. 记录MySql错误消息
  12. 团队建立伊始的混沌状态(Thinking in CTO)
  13. 二进制转八进制公式计算机,二进制转八进制算法(二进制与八进制的互相转换方法)...
  14. 美团 2021 届秋季校园招聘笔试真题
  15. 程序员也需要掌握的常用Linux网络命令汇总
  16. android 多个aar合并,Android多模块构建合并aar解决方案
  17. ORACLE:单行函数
  18. 电池配置(串联和并联)及其保护
  19. 【Nowcoder】2018 ACM-ICPC 上海大都会赛 Matrix Game (网络流 最大流)
  20. 美国大学计算机视觉专业排名,美国大学计算机系统专业排名情况实用内幕分析大全...

热门文章

  1. 使用IntelliJ, 让lombok生效的方式
  2. 手机app上的consent管理
  3. 使用SAP C4C rule editor动态控制UI上某个按钮是否显示 - SAP Cloud for Customer UI 规则编辑器的使用一例
  4. 在同一页面显示多个JavaScript统计图表
  5. linux 管理 服务,Linux服务管理 详述
  6. discuz forums.inc.php,【Discuz】积分机制实现解析
  7. python练手_Python数据分析练手项目
  8. matlab里查看图像属性,MATLAB绘图属性操作
  9. jekenis父子结构项目打包_maven 父子工程打包 并且上传linux服务器
  10. PyCharm的光标插入与覆盖模式