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模块

凡人网络购物系统jsp版(JspShop) 凡人网络购物系统jsp版(JspShop)

基于jsp+j*abean+access(mysql)三层结构的动态购物网站,v1.2包含v1.0中未公开的数据库连接 的j*a源文件 一,网站前台功能: 产品二级分类展示:一级分类--二级分类--产品列表--详细介绍(名称,图片,市场价,会员价,是否推荐,功能介绍等) 产品搜索:关键字模糊搜索 定购产品:选择商品--确认定购--填写收货人信息--选择付款方式--订单号自动生成(限登录用户)

凡人网络购物系统jsp版(JspShop) 0 查看详情 凡人网络购物系统jsp版(JspShop)
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数据库连接池连接的方法是什么的详细内容,更多请关注其它相关文章!


# 数据库  # MySQL  # 的是  # 购物系统  # 池中  # 连接数  # 挂起  # 值为  # 连接池  # 镜像  # node  # 海阳上市公司网站建设  # 谷歌seo 议员  # 韩国海外seo营销公司  # 贵州批量关键词排名  # seo蜈蚣池  # 怎么把网站关键词排名靠前  # 福建南平全域营销推广  # 太原整站优化网站  # 秦皇岛新型网站建设调试  # 安庆网站的优化  # 就会  # 不需 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 《爱南宁》认证电动车方法  msn官方入口2025登录 msn官网2025直达首页入口  Sublime怎么自动添加CSS前缀_Sublime安装Autoprefixer插件  mysql镜像配置如何设置用户权限组_mysql镜像配置用户组与权限分级管理方法  我居然低估了 DeepSeek,这次更新它做到了这些!  向日葵客户端怎么进行语音通话_向日葵客户端语音通话功能使用方法  免费占卜在线神算_免费占卜手机神算  微星主板BIOS怎么调整内存时序_内存参数手动优化BIOS设置教程  如何在Python中安全地将环境变量转换为整数并满足Mypy类型检查  鼠标没反应了怎么办 无线/有线鼠标失灵的解决方法【详解】  VB表达式书写规则解析  Yandex世界探索 最新官方免登录入口全知道  漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口  创客贴登录页面入口 创客贴网页版最新网址链接  英国搜索:多数英国人认为语言搜索是未来搜索  小米civi如何设置锁屏时间  铁路12306入口 铁路12306官网版入口登录网址  J*aScript桌面应用_Electron多进程架构实战  qq邮箱格式填写示例 qq邮箱标准填写规范  win11怎么启用或禁用休眠 Win11 powercfg命令管理休眠文件【技巧】  《真我》申请退款方法  B站怎么开|直播| B站|直播|申请需要什么条件【新手必看】  英雄联盟争者留名活动介绍  C++ priority_queue怎么用_C++优先队列底层实现与自定义比较器  《健康大兴》注册方法介绍  京东物流快递破损了怎么办_京东快递破损理赔流程  123网页端官方登录页 123邮箱网页版即时通讯服务  抖音官网入口快速访问 抖音网页版账号注册解析  Selenium自动化:利用键盘模拟解决复杂日期输入框输入问题  抖音号已注销怎么解绑企业认证?不解绑企业认证会怎样?  vivo手机视频通话美颜怎么设置_vivo视频通话美颜开启方法  处理含命名空间的XML文件 Power Query中的高级技巧  折叠屏手机充不进电是什么问题? 特殊结构带来的维修难点  网页版网易云音乐入口_网易云音乐在线官网登录  快手极速版在线体验区 快手极速版网页体验入口  晓晓优选app支付宝绑定方法  暴风影音官网正式版_暴风影音手机版官网下载安卓  使用 .htaccess 正确配置 WordPress 子目录重定向与路径保留  《小宇宙》标记不友善评论方法  《东方航空》添加乘机人方法  CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条  如何查询国外邮政编码_国外邮政编码查询的多种有效途径  《波斯王子:失落的王冠》剑术大师打法攻略  FotoBalloon图片左右镜像教程  《火花chat》搜索好友方法  动漫岛在线动漫网 动漫岛动漫在线观看官方入口  手机坏了微信聊天记录怎么导出来 新手机恢复聊天记录技巧  Flash AS3.0简易相册制作  菜鸟驿站的取件码忘了怎么办 手机快速查询指南  德邦快递查询入口登录官网 德邦快递单号查询系统入口 

 2023-05-30

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.