node+mysql数据库连接池连接的方法是什么 您所在的位置:网站首页 node连接oracle数据库 node+mysql数据库连接池连接的方法是什么

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

#node+mysql数据库连接池连接的方法是什么| 来源: 网络整理| 查看: 265

node+mysql数据库连接池连接的方法是什么 发布时间:2023-04-18 16:04:19 来源:亿速云 阅读:98 作者:iii 栏目:开发技术

这篇“node+mysql数据库连接池连接的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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模块

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数据库连接池连接的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读: Node事件循环的原理是什么 MAC环境下如何安装node、vue等环境配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

node mysql 数据库 上一篇新闻:Java将字符串String转换为整型Int的方法是什么 下一篇新闻:怎么使用Canal实现PHP应用程序与MySQL数据库的实时数据同步 猜你喜欢 Spark SQL中怎么创建DataFrames 如何用Pyecharts生成云词 怎么为JQuery EasyUI表单组件增加焦点切换功能 Spark的相关问题有哪些 Hadoop集群同步怎么实现 MySQL Delete PHP有什么作用 Actor并行化的wordcount怎么实现 Scala for循环怎么使用 Hadoop机架怎么配置 HBase过滤器由什么组成


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有