Node.js + Express 连接 MySQL 实战指南

资源类型:00-2.net 2025-07-07 10:34

nodejs 连接mysql express简介:



Node.js 连接 MySQL 数据库:利用 Express 框架构建高效后端服务 在当今快速迭代的软件开发领域,选择正确的技术栈对于项目的成功至关重要

    Node.js,以其非阻塞I/O模型、事件驱动架构和高性能,成为了构建高效、可扩展后端服务的热门选择

    而当谈到数据存储时,MySQL 作为一款成熟、开源的关系型数据库管理系统,以其稳定性、灵活性和广泛的支持,成为众多开发者的首选

    结合 Express 框架,我们可以快速搭建起一个功能强大、易于维护的Web应用后端

    本文将深入探讨如何使用 Node.js 连接 MySQL 数据库,并通过 Express 框架实现数据交互,为你提供一个完整且实用的开发指南

     一、环境准备 在开始之前,确保你的开发环境中已经安装了以下必要软件: 1.Node.js:从 【Node.js 官网】(https://nodejs.org/) 下载并安装最新稳定版

     2.MySQL:可以从 【MySQL 官网】(https://dev.mysql.com/downloads/mysql/) 下载并安装 MySQL Server,或者使用 Docker 容器化部署

     3.npm(Node Package Manager):Node.js 自带的包管理工具,用于安装和管理项目依赖

     4.IDE 或文本编辑器:推荐使用 Visual Studio Code,因其对 Node.js 和前端开发的良好支持

     二、创建项目目录与初始化 1.创建项目目录: bash mkdir my-express-mysql-app cd my-express-mysql-app 2.初始化 Node.js 项目: bash npm init -y 这将自动生成一个`package.json` 文件,包含项目的基本信息

     三、安装所需依赖 接下来,我们需要安装 Express 框架和 MySQL 的 Node.js 客户端库

    这里我们使用`mysql2` 库,它是`mysql` 库的一个改进版,提供了更好的性能和异步/Promise 支持

     bash npm install express mysql2 四、配置 MySQL 数据库 在继续之前,确保你的 MySQL 数据库已经启动,并创建一个用于测试的数据库和表

    例如,创建一个名为`testdb` 的数据库,以及一个简单的`users` 表: sql CREATE DATABASE testdb; USE testdb; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE ); 五、编写服务器代码 在项目根目录下创建一个`app.js` 文件,并编写以下代码: javascript const express = require(express); const mysql = require(mysql2/promise); const app = express(); const port = 3000; // MySQL 连接配置 const dbConfig ={ host: localhost, user: root, // 根据你的 MySQL 用户配置调整 password: yourpassword, // 根据你的 MySQL 密码配置调整 database: testdb }; let connection; // 建立数据库连接 async function createConnection(){ try{ connection = await mysql.createConnection(dbConfig); console.log(Connected to MySQL database); } catch(err){ console.error(Error connecting to MySQL database:, err); process.exit(1); } } // 关闭数据库连接 async function closeConnection(){ if(connection){ try{ await connection.end(); console.log(MySQL connection closed); } catch(err){ console.error(Error closing MySQL connection:, err); } } } // 中间件:解析 JSON 请求体 app.use(express.json()); // 获取所有用户 app.get(/users, async(req, res) =>{ try{ const【rows】 = await connection.execute(SELECTFROM users); res.json(rows); } catch(err){ res.status(500).json({ error: err.message}); } }); // 创建新用户 app.post(/users, async(req, res) =>{ const{ name, email} = req.body; try{ const【result】 = await connection.execute(INSERT INTO users(name, email) VALUES(?, ?),【name, email】); res.status(201).json({ id: result.insertId, ...req.body}); } catch(err){ if(err.code === ER_DUP_ENTRY){ res.status(409).json({ error: Email already exists}); } else{ res.status(500).json({ error: err.message}); } } }); // 启动服务器前建立数据库连接 createConnection(); // 服务器监听端口 app.

阅读全文
上一篇:MySQL的mysql-bin日志作用详解

最新收录:

  • MySQL连接名:是否允许重复,一文解析
  • MySQL OLEDB驱动下载指南:轻松连接数据库的新媒体教程
  • MySQL连接指令详解教程
  • MySQL端口配置全攻略:轻松管理数据库连接端口
  • VFP连接MySQL数据库:高效数据交互技巧解析
  • 如何下载并配置JDBC连接MySQL8驱动教程
  • MySQL是否支持全连接解析
  • users);res.send(rows);} catch(err){res.status(500).send({ message: 服务器错误});}});const PORT = process.env.PORT ||3000;app.listen(PORT,() =>{console.log(`服务器正在运行在 http://localhost:${PORT}`);});在这个示例中,我们使用了Express框架来构建RESTful API,bcrypt库来处理密码哈希,以增强安全性。用户注册时,密码会被哈希处理后再存储到数据库中。登录时,输入的密码会与存储的哈希值进行比较以验证用户身
  • Java连接MySQL数据库实战代码
  • Node.js连接MySQL构建HTML应用指南
  • ASP.NET Core实战:高效连接MySQL数据库指南
  • ThinkJS实战:高效连接MySQL数据库
  • 首页 | nodejs 连接mysql express:Node.js + Express 连接 MySQL 实战指南