node+mysql数据库连接池连接的方法是什么

mysql有两种连接方式:一种是直接连接 另一种是池化连接,我们这篇讲的是池化连接。

为了让解惑,我简答的写份直接连接的代码,如下:

var mysql = require('mysql');var connection = mysql.createConnection({  host     : 'localhost',  user     : 'ac',  password : '123456',  database : 'textPro'}); connection.connect(); connection.query('SELECT * from1 userInfo', function (error, results, fields) {  if (error) throw error;  console.log('The solution is: ', results);}); connection.end();

createConnection和createPool的区别是: createPool(连接池)连接可以更加合理的利用服务器资料,减少资料浪费

安装之后在db/index.js中开始编写:

const mysql = require("mysql") //创建连接池const db= mysql.createPool({      host : 'localhost', //连接主机    port : 3306,   //端口号    database : 'test',  //连接的是哪一个库    user : 'root',   //用户名    password : '',    //密码    connectionLimit : 50, //用于指定连接池中最大的链接数,默认属性值为10.     //用于指定允许挂起的最大连接数,如果挂起的连接数超过该数值,就会立即抛出一个错误,    //默认属性值为0.代表不允许被挂起的最大连接数。    queueLimit:3 })

建立了连接池之后,可以直接使用连接池对象的getConnection方法从连接池中获取一个连接,如果连接池中没有可用连接,将隐式的建立一个数据库连接。

const mysql = require("mysql") //创建连接池const db= mysql.createPool({      host : 'localhost', //连接主机    port : 3306,   //端口号    database : 'test',  //连接的是哪一个库    user : 'root',   //用户名    password : '',    //密码    connectionLimit : 50, //用于指定连接池中最大的链接数,默认属性值为10.     //用于指定允许挂起的最大连接数,如果挂起的连接数超过该数值,就会立即抛出一个错误,    //默认属性值为0.代表不允许被挂起的最大连接数。    queueLimit:3 })   module.exports.query = (sql, values.callback) => {  //err: 该参数是指操作失败时的错误对象。  //connection: 该值为一个对象,代表获取到的连接对象。当连接失败时,该值为undefined。  db.getConnection(function(err, connection) {    if (err) {      console.log('与mysql数据库建立连接失败');      pool.releaseConnection(); //释放链接    } else {      console.log('与mysql数据库建立连接成功');      connection.query(sql,values,(err, res) => {        if (err) {          console.log('执行sql语句失败,查询数据失败');          //connection.release() 当一个连接不需要使用时,使用该方法将其归还到连接池中 release释放          connection.release();          callback(err,null)        } else {           console.log('执行sql语句成功');           callback(null,res)          //pool.end() 当一个连接池不需要使用时,可以使用该方法关闭连接池          pool.end();        }      })    }  })}

引入 调用db模块

阿里云-虚拟数字人 阿里云-虚拟数字人

阿里云-虚拟数字人是什么? …

阿里云-虚拟数字人 2 查看详情 阿里云-虚拟数字人

const query=require('./db').query;let sql='SELECT * FROM class WHERE class_id=? AND class_name=?' let userId=1;let userName='阿辰';query(sql,[userId,userName],(err,res)=>{    if(err){        console.log('发生了错误***',err)        return    }console.log('找到了',res)})

const query=require(‘./db’).query与const query=require(‘./db’)区别

第一种写法只获取到了”./db”模块中的query函数,如果需要使用其他导出项,则需要再次获取。

第二种写法获取到了”./db”模块导出的所有项,不需要在代码中反复获取不同的导出项。

以上就是node+mysql数据库连接池连接的方法是什么的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/265306.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
linux怎样查看有几块硬盘
上一篇 2026年10月12日 19:34:42
如何在欧易平台获取官方App 欧易交易软件的正规安装途径
下一篇 2025年12月8日 05:16:02

相关推荐

  • 怎么使用MySQL进行JDBC编程与增删改查

    怎么使用MySQL进行JDBC编程与增删改查怎么使用MySQL进行JDBC编程与增删改查怎么使用MySQL进行JDBC编程与增删改查怎么使用MySQL进行JDBC编程与增删改查

    Java的数据库编程JDBC 概念 jdbc是一种用于执行sql语句的java api,他是java中的数据库连接规范,这个api由一些接口和类组成。它提供了一个标准的api,使得java开发人员可以统一访问多种关系数据库 本质是通过代码自己实现一个MySQL客户端,通过网络和服务器进行数据的交互,…

    2026年10月12日 • 用户投稿
    600
  • mysql怎么查询字符串中某个字符串出现的次数

    mysql查询字符串中某个字符串出现的次数 例如:查询字符串”jjhshdgl’ddiiiisssddddjjsssjjssjj”中”ss”的个数 1.首先查询”ss”的长度 select length(&#8220…

    2026年10月12日
    200
  • MySQL连接查询是什么

    MySQL连接查询是什么MySQL连接查询是什么MySQL连接查询是什么MySQL连接查询是什么

    内连接 内连接innerjoin是最常用的连接操作。用数学术语描述,这句话可以重写为:从集合论的角度看,我们要求两个集合的交集;而从笛卡尔积的角度看,则需要筛选出满足on条件的笛卡尔积元素。 在我看来内连接和等值连接差不多,自然连接是内连接中的一个特殊连接 自然连接和等值连接的区别 什么是自然连接?…

    2026年10月12日 • 用户投稿
    100
  • Java中爬虫怎么实现 分析网页抓取技术

    Java中爬虫怎么实现 分析网页抓取技术Java中爬虫怎么实现 分析网页抓取技术Java中爬虫怎么实现 分析网页抓取技术Java中爬虫怎么实现 分析网页抓取技术

    java中实现爬虫的核心在于模拟浏览器行为并提取信息,主要依赖网络请求库(如httpclient、okhttp)、html解析库(如jsoup)及多线程技术。1. 网络请求推荐使用httpclient或okhttp,二者功能强大且性能优秀;2. html解析常用jsoup,其支持css选择器且简单易…

    2026年10月12日 • 用户投稿
    400
  • Ubuntu如何安装Mysql启用远程连接

    Ubuntu如何安装Mysql启用远程连接Ubuntu如何安装Mysql启用远程连接Ubuntu如何安装Mysql启用远程连接Ubuntu如何安装Mysql启用远程连接

    背景 用的是百度云的云服务器(其他云服务器同理),系统是ubuntu 20.04 lts,mysql版本8.0+,需求是在windows上开发,可以随时远程连接读写服务器上的mysql 建立到服务器的远程连接 用ssh客户端或者云服务器厂家提供的网页版控制台都行,只要你能连上服务器就行 顺便私心推荐…

    2026年10月12日 • 用户投稿
    200
  • Mysql怎么实现全外连接

    Mysql怎么实现全外连接Mysql怎么实现全外连接Mysql怎么实现全外连接Mysql怎么实现全外连接

    mysql中多表查询只提供了内连接,左外连接与右外连接: table_reference {[INNER] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr 1】INNER JOIN ON内连接(只写join时…

    2026年10月12日 • 用户投稿
    300
  • MySQL如何实现数据校验 约束与触发器验证方案对比

    MySQL如何实现数据校验 约束与触发器验证方案对比MySQL如何实现数据校验 约束与触发器验证方案对比MySQL如何实现数据校验 约束与触发器验证方案对比MySQL如何实现数据校验 约束与触发器验证方案对比

    %ignore_a_1%实现数据校验主要通过约束和触发器两种方式。1. 约束提供声明式校验,包括not null、unique、primary key、foreign key和check,适用于简单高效的数据校验场景;2. 触发器则通过事件自动执行sql代码,支持复杂逻辑判断和跨表校验,如插入前检查…

    2026年10月12日 • 用户投稿
    100
  • SQL查询中条件计数与聚合函数的应用

    本文详细介绍了如何在现有SQL分组查询中,通过巧妙利用%ignore_a_1%SUM()实现条件计数,例如统计每个司机的未请假缺勤次数。通过将代表未请假的数值列直接求和,可以高效地在原有统计(如总缺勤次数)的基础上,新增一列展示特定条件的汇总数据,从而优化查询结果的全面性和实用性。 优化SQL查询:…

    2026年10月12日
    300
  • 怎么使用mysql binlog恢复数据

    怎么使用mysql binlog恢复数据怎么使用mysql binlog恢复数据怎么使用mysql binlog恢复数据怎么使用mysql binlog恢复数据

    在要使用 mysql 的 binlog 进行数据恢复前,必须首先启用 binlog。在这里建立一个测试环境,以了解如何使用mysql binlog恢复数据库。原理比较简单,binlog 会存储mysql中变化的数据,比如你创建了一个数据库,写入了一些数据,这些都会存储在 mysql 的 binlog…

    2026年10月12日 • 用户投稿
    100
  • MySQL中查询缓存的基础知识有哪些

    什么是查询缓存? mysql 查询缓存虽然在 mysql 5.7 中被弃用(并在 8.0 中删除),但存储以前在内存中运行的语句:换句话说,查询缓存通常将select语句存储在数据库的内存中。因此,如果我们运行一个查询,然后在一段时间后再次运行完全相同的查询,结果将更快地返回,因为它们将从内存而不是…

    2026年10月12日
    200
  • Linux环境下如何安装MySQL数据库

    Linux环境下如何安装MySQL数据库Linux环境下如何安装MySQL数据库Linux环境下如何安装MySQL数据库Linux环境下如何安装MySQL数据库

    1.概述 mysql二进制安装的优点在于可以在任何路径下安装,且具有良好的灵活性,一台服务器也可以安装多个mysql实例。这种方式的不足之处在于它是在编译过后的,因此性能不如从源代码编译的版本,并且无法灵活地定制编译参数。如果用户即不想安装最简单却不够灵活的rpm包,又不想安装复杂费时的源码包,那么…

    2026年10月12日 • 用户投稿
    100
  • MySQL中创建表时设置自增主键的规则

    在mysql中设置自增主键的方法是:在列定义中添加auto_increment属性。具体步骤包括:1. 创建表时,在需要自增的主键列上添加auto_increment属性,例如create table users (id int auto_increment, primary key (id));2…

    2026年10月12日
    200
  • FreeBSD13中怎么安装MySQL数据库

    FreeBSD13中怎么安装MySQL数据库FreeBSD13中怎么安装MySQL数据库FreeBSD13中怎么安装MySQL数据库FreeBSD13中怎么安装MySQL数据库

    mysql是一个开放源码的小型关联式数据库管理系统,目前mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。 环境 FreeBSD 13-RELEASE 修改p…

    2026年10月12日 • 用户投稿
    000
  • php如何查询MySQL的8条数据

    PHP是一款非常流行并且实用的编程语言,它可以用于各种不同的项目,从简单Java应用程序到大型Web应用程序。对于许多网站工程师来说,查询数据库中的数据是一个基本的需求,这可以使我们更好地了解网站上的用户行为,以及优化网站的性能。本文将探讨使用PHP编写代码查询8条数据库数据的方法。 在开始之前,您…

    2026年10月12日
    000
  • MySQL中存储的数据查询的时候怎么区分大小写

    MySQL中存储的数据查询的时候怎么区分大小写MySQL中存储的数据查询的时候怎么区分大小写MySQL中存储的数据查询的时候怎么区分大小写MySQL中存储的数据查询的时候怎么区分大小写

    场景描述 今天在将 hive 表同步到 mysql 之后,其中有一列是唯一列,但是在 mysql 中查询的时候 count 与 distinct count 查询出来的数值是不一样的,这么来看的话是有重复的数据(按理说不应该的,因为在 hive 中,这两个数值是一样的),那么将重复的数据查出来看了一…

    2026年10月12日 • 用户投稿
    000
  • MySQL内存不足启动失败怎么解决

    MySQL内存不足启动失败怎么解决MySQL内存不足启动失败怎么解决MySQL内存不足启动失败怎么解决MySQL内存不足启动失败怎么解决

    1.启动MySQL时一直不成功,查看错误日志 /var/log/mysql/error.log 2.主要的错误信息有如下几条: /var/log/mysql/error.log [ERROR] InnoDB: mmap(136151040 bytes) failed; errno 12[ERROR]…

    2026年10月12日 • 用户投稿
    000
  • windows系统mysql压缩包版本安装的方法是什么

    windows系统mysql压缩包版本安装的方法是什么windows系统mysql压缩包版本安装的方法是什么windows系统mysql压缩包版本安装的方法是什么windows系统mysql压缩包版本安装的方法是什么

    下载 下载上面的,下面的不行 解压 我的解压路径 E:Program_filesmysql-5.7.13-winx64本着专业的态度,任何专业软件安装路径都要纯字母。 配置文件 在E:Program_filesmysql-5.7.13-winx64下面创建一个my.ini配置文件 其中的basedi…

    2026年10月12日 • 用户投稿
    300
  • mysql range分区指的是什么

    1、基于给定区间边界,得到若干个连续区间范围,按照分区键的落点,把数据分配到不同的分区。 range分区主要用于日期列的分区。 2、range分区通过使用PARTITION BY RANGE(expr)实现 。 其中expr可以是某个列值,或一个基于某个列值并返回一个整数值的表达式,如YEAR(da…

    2026年10月12日
    100
  • centOS7下mysql插入中文字符报错怎么解决

    在刚装完mysql,就建立了数据库abc,然后新建一个abc表,插入英文没有问题,但是插入中文就有问题,会报错: error 1366 (hy000): incorrect string value: ‘xe4xbdx99xe9x93xb6…’ 应该是数据库编码问…

    2026年10月12日
    100
  • 怎么用SSM+MySql实现仓库管理系统

    系统介绍 该系统为SSM实现在仓库管理系统,实现了供应商管理、经销商管理、商品管理、出库管理、收货单管理等等仓库系统所需在基本功能。系统实现上分层比较明确,操作比较简单。 功能模块 相关技术点 前端:系统前端采用jsp + JavaScript + css的组合开发 后端:SSM框架 数据库:MyS…

    用户投稿 2026年10月12日
    400

发表回复

登录后才能评论
关注微信