Express连接MySQL及数据库连接池的示例分析

Express连接MySQL

准备工作

打开webstorm新建项目选择express创建一个express项目。

Express连接MySQL及数据库连接池的示例分析

创建成功后其页面如下:

Express连接MySQL及数据库连接池的示例分析

为了连接mysql数据库还需要导入mysql模块。

Express连接MySQL及数据库连接池的示例分析

创建配置文件

在项目中创建config文件,在config文件中创建congfigdb.js文件用来连接数据库,在文件中写入:

var mysql = {    host: "127.0.0.1",//这是数据库的地址    user: "root",//需要用户的名字    password: "root23",//用户密码 ,如果你没有密码,直接双引号就是    database: "info",//数据库名字    port:3306//数据库使用的端口号}module.exports = mysql;//用module.exports暴露出这个接口

创建操作数据库的接口文件

const express = require('express');const router = express.Router();//导入MySQL 模块const mysql = require('mysql');//导入配置文件const db = require('../config/configdb');router.get('test',(req,res)=>{    //创建数据库连接对象    let conn = mysql.createConnection(db);    //查询bookinfo中所有数据    conn.query('select * from student',(err,results,fieldes)=>{        //fieldes表示具体的字段        if(err){            throw err;        }        res.send(results);    })    //关闭数据库链接    conn.end((err)=>{        console.log(err);})module.exports = router;

完成之后在app.js文件中添加:

var dbRouter = require('./routes/option')app.use('/db',dbRouter);

在Postman中测试如下:

来画数字人直播 来画数字人直播

来画数字人自动化直播,无需请真人主播,即可实现24小时直播,无缝衔接各大直播平台。

来画数字人直播 0 查看详情 来画数字人直播

Express连接MySQL及数据库连接池的示例分析

数据库连接池技术

什么是数据库连接池

数据库连接池是程序启动时建立足够数量的数据库连接对象,并将这些连接对象组成一个池,由程序动态地对池中的连接对象进行申请、使用和释放。

数据库连接池的作用是什么?

数据库的连接池负责分配、管理和释放数据库连接对象的。它允许应用程序重复使用一个现有的数据库的连接对象。而不是重新创建一个。

数据库连接池技术实例

1、导入mysql模块
var mysql = require('mysql');
2、创建数据库连接池

创建连接池

var pool = mysql.createPool(options);

options 参数是一个对象,该对象中有很多属性配置,该对象的作用是用于指定该连接池中连接统一使用的各种选项。

//创建数据库连接池const pool = mysql.createPool({    connectionLimit:20,    host:'localhost',    port:3306,    user:'root',    password:'123456',    database:'info'})//导出数据库连接池对象module.exports = pool;

connectionLimit:用于指定连接池中最大的链接数,默认属性值为10.queueLimit:用于指定允许挂起的最大连接数,如果挂起的连接数超过该数值,就会立即抛出一个错误,默认属性值为0.代表不允许被挂起的最大连接数。multipleStatements :是否允许执行多条sql语句,默认值为falsehost:数据库服务器的地址user:连接数据库的用户名password:连接数据库的密码database:数据库名

3、获取数据库链接对象
pool.getConnection((err, conn) => {    if (err) {        console.log(err)    } else {        let sql = 'select * from bookinfo';        conn.query(sql, (err, results) => {            if (err) {                console.log(err)            } else {                res.send(results);                conn.release();            }        })    }})
4、释放数据库连接对象
conn.release();

完整实例

const express = require('express');const pool = require('../config/dbmysql');const router = express.Router();/** http://localhost:3000/dbmysql/books* */router.get('/books',(req,res)=>{    //从数据库连接池中获取数据库连接对象    pool.getConnection((err,conn)=>{        if(err){            console.log(err)        }else {            let sql = 'select * from bookinfo';            conn.query(sql,(err,results)=>{                if (err) {                    console.log(err)                }else {                    res.send(results);                    conn.release();                }            })        }    })})module.exports = router;

结果测试:

Express连接MySQL及数据库连接池的示例分析

以上就是Express连接MySQL及数据库连接池的示例分析的详细内容,更多请关注创想鸟其它相关文章!

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

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
composer require –dev命令的正确使用场景
上一篇 2026年10月11日 04:14:42
php机构有哪些
下一篇 2025年12月12日 02:58:37

相关推荐

  • mysql锁机制的概念是什么

    mysql锁机制的概念是什么mysql锁机制的概念是什么mysql锁机制的概念是什么mysql锁机制的概念是什么

    Mysql锁: 要在多线程环境下确保数据的准确性,通常需要使用同步机制。同步就相当于是加锁。锁的作用在于当一个线程正在操作数据时,其他线程需要等待,这可以带来以下好处。当一个线程执行完毕后,释放锁。其他线程才能进行操作! 那么我们的MySQL数据库中的锁的功能也是类似的,处理事务的隔离性中,可能会出…

    2026年10月11日 • 用户投稿
    000
  • Mysql锁内部实现机制是什么

    Mysql锁内部实现机制是什么Mysql锁内部实现机制是什么Mysql锁内部实现机制是什么Mysql锁内部实现机制是什么

    概述 尽管现代关系型数据库越来越相似,但它们的实现背后可能有着截然不同的机制。实际使用方面,因为sql语法规范的存在使得我们熟悉多种关系型数据库并非难事,但是有多少种数据库可能就有多少种锁的实现方法。 Microsoft Sql Server2005之前只提供页锁,直到2005版本才开始支持乐观并发…

    2026年10月11日 • 用户投稿
    100
  • MySQL中SECOND函数怎么用

    SECOND(time) SELECT SECOND(‘11:22:33′) SELECT SECOND(‘2016-01-16 11:44:22′) -> 33-> 22 返回该time的minute值,值范围(0-59) 阿里云-虚拟数字人 阿里云-虚拟数字人是什么? ……

    2026年10月11日
    100
  • MySQL8.0/8.x忘记密码怎么更改root密码

    MySQL8.0/8.x忘记密码怎么更改root密码MySQL8.0/8.x忘记密码怎么更改root密码MySQL8.0/8.x忘记密码怎么更改root密码MySQL8.0/8.x忘记密码怎么更改root密码

    一、原理说明 1,authentication_string这是mysql8.0新做出的修改,在旧版本中使用的是password()函数。 2,在网上找到的“mysql忘记密码”的解决方案中,大多会使用UPDATE user SET authentication_string=”12345″ WHE…

    2026年10月11日 • 用户投稿
    100
  • 如何在GitHubActions中清晰追踪PHPUnit测试失败?使用mheap/phpunit-github-actions-printer让问题无处遁形

    可以通过一下地址学习composer:学习地址 在现代软件开发中,持续集成(ci)已经成为不可或缺的一环。我们常常将phpunit测试集成到github actions中,以确保每次代码提交都能通过严格的质量检查。然而,相信不少开发者都曾遇到这样的困扰:当测试套件庞大,且有多个测试失败时,githu…

    2026年10月11日
    000
  • ubuntu如何查mysql的端口号

    1、登录mysql。 打开终端输入命令:“# mysql -uroot -p”。 [root@localhost ~]# mysql -uroot -p Enter password: 输入数据库密码; 2、再输入命令“show global variables like ‘port&#…

    2026年10月11日
    000
  • 使用DeepSeek+RAG实现私人知识库

    使用DeepSeek+RAG实现私人知识库使用DeepSeek+RAG实现私人知识库使用DeepSeek+RAG实现私人知识库使用DeepSeek+RAG实现私人知识库

    在使用包括 chatgpt 在内的 aigc 工具回答 sap 相关问题时,常常会遇到大模型产生不准确或虚构信息的情况,这种现象被称为大模型的幻觉现象。对于 llm 模型来说,它是一种基于上下文的生成模型,其预测依赖于先前的文本序列。由于模型在训练过程中学习了语言的统计规律,有时会在生成文本时添加一…

    2026年10月11日 • 用户投稿
    100
  • Nginx怎么实现异步访问mysql

    nginx中有一个模块有这个功能,(以前的文章中扩展,这里叫模块,以后统一叫模块,模块可能准确点,因为扩展是单独的文件,而模块是嵌入到主文件中的),这个模块叫drizzle-nginx-module 要编译这个还不容易 先下载drizzle库编译和配置选项: 复制代码 代码如下: ./configu…

    2026年10月11日
    100
  • MySQL中如何根据参数获取日期

    MAKEDATE(year ,dayofyear ):根据参数(年份,第多少天)获取日期 如此AI员工 国内首个全链路营销获客AI Agent 71 查看详情 SELECT MAKEDATE(2015 ,32) -> 2015-02-01 以上就是MySQL中如何根据参数获取日期的详细内容,更…

    2026年10月11日
    100
  • mysql全连接和oracle全连接查询的区别是什么

    mysql全连接和oracle全连接查询的区别是什么mysql全连接和oracle全连接查询的区别是什么mysql全连接和oracle全连接查询的区别是什么mysql全连接和oracle全连接查询的区别是什么

    mysql全连接和oracle全连接查询区别 oracle的全连接查询可以直接用full on,但是在mysql中没有full join,mysql使用union实现全连接 oracle的全连接 select * from a full join b on a.id = b.id mysql的全连接…

    2026年10月11日 • 用户投稿
    100
  • PHP数据库连接方法_PHP连接MySQL数据库最佳实践

    PHP数据库连接方法_PHP连接MySQL数据库最佳实践PHP数据库连接方法_PHP连接MySQL数据库最佳实践PHP数据库连接方法_PHP连接MySQL数据库最佳实践PHP数据库连接方法_PHP连接MySQL数据库最佳实践

    推荐使用PDO连接MySQL,因其支持预处理语句、多数据库兼容及更好的安全性。示例中通过设置异常模式、utf8mb4字符集和禁用模拟预处理,确保安全与可维护性;MySQLi适用于纯MySQL项目,但PDO更利于长期扩展。 PHP连接MySQL数据库最推荐的方式是使用PDO(PHP Data Obje…

    2026年10月11日 • 用户投稿
    000
  • Java与MySQL之间的数据类型映射与转换

    java是一种高级编程语言,而mysql是一种关系型数据库管理系统。在java程序中,常常需要与数据库进行数据交互,而这就涉及到了数据类型的映射与转换。 Java数据类型与MySQL数据类型的映射可以在以下表格中看到: Java数据类型 MySQL数据类型 StringVARCHARintINTlo…

    2026年10月11日
    100
  • 通过Java编写的ORM框架来简化MySQL数据库的操作

    随着互联网的发展,数据成为了企业最重要的资产之一。而关系型数据库mysql的广泛应用也使得对mysql数据库的操作变得尤为重要。然而,在日常的开发和维护过程中,我们经常遭遇到复杂的sql语句,往往需要大量的时间和精力去研究和优化。而这时,一种名为orm(object-relational mappi…

    2026年10月11日
    200
  • Java使用JDBC API连接MySQL数据库遇到的常见问题

    近年来,java语言的应用越来越广泛,而jdbc api是java应用程序中与数据库交互的一种创造性方法,jdbc基于一种名为odbc的开放数据库连接标准,使得java应用程序能够连入任何数据库管理系统(dbms)。其中,mysql更是一款备受青睐的数据库管理系统。然而,连接mysql数据库时,开发…

    2026年10月11日
    100
  • MySQL事务处理详细介绍

    mysql是一种基于开放源代码的关系型数据库管理系统。在mysql中,事务处理是一个非常重要的概念,它能够保证数据在数据库中的完整性和一致性。mysql支持多种数据类型和数据表的关联,这使得mysql成为一个强大的数据库管理系统。下面将详细介绍mysql的事务处理。 一、什么是事务处理? 在数据库管…

    2026年10月10日
    100
  • MySQL中的数据安全备份技巧

    mysql是目前应用最广泛的一种开源数据库管理系统,它的数据安全备份是数据库管理工作中至关重要的一环。在日常生产环境中,数据的安全性和完整性是数据库管理者必须重视的问题,如何保证mysql的数据安全备份是每位数据库管理者必须面对的问题。在本文中,我们将介绍mysql中的数据安全备份技巧,以保障数据库…

    2026年10月10日
    100
  • 深入剖析MySQL索引优化策略

    作为一种常用的关系型数据库,mysql在今天的互联网应用中扮演着至关重要的角色。而在mysql优化策略中,索引的使用更是至关重要。 在MySQL中,索引是一种数据结构,用于快速定位数据中的特定行。使用索引可以大大提高查询效率,减少数据库处理数据的时间和资源。但不正确的索引使用方式,同样会导致数据库性…

    2026年10月10日
    300
  • MySQL中的数据知识库与查询收藏技巧

    mysql是一种开源的关系型数据库管理系统,它被广泛应用于各种应用程序中。我的技术工作之一就是管理mysql数据库,我在这篇文章中要分享的是如何创建和管理mysql中的数据知识库,以及一些在查询数据时可能会用到的收藏技巧。 一、数据知识库 在MySQL中,数据知识库是一种逻辑容器,用于存储表、视图和…

    2026年10月10日
    000
  • MySQL中的主从分离实现技术

    mysql是目前应用最广泛的开源关系型数据库,它的优良性能、稳定性和可靠性得到了广泛认可。随着应用场景的日渐复杂,数据库的可扩展性愈发重要,而主从复制技术是一种常用的提高mysql可扩展性的技术手段。本文将介绍mysql中主从分离实现的技术。 一、主从复制概述 主从复制是指将一个MySQL数据库称为…

    2026年10月10日
    100
  • mysql中事务是指什么 mysql事务处理机制详解

    事务在%ignore_a_1%中通过acid属性(原子性、一致性、隔离性、持久性)保证数据库操作的一致性和完整性。事务确保多个操作要么全部成功,要么全部失败,适用于如银行转账等需要同时完成的操作。 事务在MySQL中代表了一系列操作的集合,这些操作要么全部成功,要么全部失败,不会存在部分成功或部分失…

    2026年10月10日
    100

发表回复

登录后才能评论
关注微信