Vue+Node连接MySQL实战指南
vue中用node使用mysql

首页 2025-06-20 16:53:37



Vue 中结合 Node.js 使用 MySQL:构建高效的全栈应用 在当今快速发展的前端开发领域,Vue.js凭借其简洁的语法、强大的数据绑定能力以及丰富的生态系统,迅速成为众多开发者的首选框架

    而在后端,Node.js 以其非阻塞I/O模型、事件驱动架构和高性能的特点,在构建高效、可扩展的服务器应用方面表现出色

    当这两者结合MySQL这一成熟稳定的关系型数据库时,一个强大且灵活的全栈开发环境便应运而生

    本文将深入探讨如何在Vue前端项目中,通过Node.js后端与MySQL数据库的集成,构建一个高效的全栈Web应用

     一、技术栈概述 -Vue.js:一个用于构建用户界面的渐进式JavaScript框架,易于上手且易于集成到现有项目中

     -Node.js:一个基于Chrome V8引擎的JavaScript运行时环境,允许开发者在服务器端运行JavaScript代码

     -MySQL:一个开源的关系型数据库管理系统,以其高性能、可靠性和易用性著称

     二、项目初始化 1. 前端:Vue.js 项目创建 首先,我们需要创建一个Vue项目

    Vue CLI(命令行界面)提供了快速创建和管理Vue项目的工具

     bash 全局安装 Vue CLI(如果尚未安装) npm install -g @vue/cli 创建一个新的 Vue 项目 vue create my-vue-app 进入项目目录 cd my-vue-app 启动开发服务器 npm run serve 上述命令将创建一个基本的Vue项目,并启动一个本地开发服务器,默认端口为8080

     2. 后端:Node.js 项目创建 接下来,我们在项目根目录下创建一个新的Node.js项目,用于处理后端逻辑和数据库交互

     bash 在项目根目录下创建后端文件夹 mkdir backend cd backend 初始化 Node.js 项目 npm init -y 安装 Express框架和 MySQL客户端库 npm install express mysql2 body-parser cors 这里我们选择了`express`作为Web框架,`mysql2`作为MySQL客户端库,`body-parser`用于解析请求体,`cors`用于处理跨域请求

     三、后端API开发 1. 设置Express服务器 在`backend`文件夹中创建一个`server.js`文件,作为我们的Node.js服务器入口

     javascript const express = require(express); const mysql = require(mysql2); const bodyParser = require(body-parser); const cors = require(cors); const app = express(); const port =3000; // 配置 CORS 以允许所有跨域请求 app.use(cors()); // 使用 body-parser 中间件解析 JSON 请求体 app.use(bodyParser.json()); // 创建 MySQL 连接池 const pool = mysql.createPool({ host: localhost, user: root, password: yourpassword, // 请替换为你的MySQL密码 database: mydatabase // 请替换为你的数据库名 }); //示例路由:获取所有用户 app.get(/api/users,(req, res) =>{ pool.query(SELECT - FROM users, (error, results) =>{ if(error) throw error; res.json(results); }); }); // 启动服务器 app.listen(port,() =>{ console.log(`Server is running on http://localhost:${port}`); }); 2. 创建数据库和表 在MySQL中创建一个名为`mydatabase`的数据库,并在其中创建一个`users`表

     sql CREATE DATABASE mydatabase; USE mydatabase; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE ); 3. 添加更多API端点 为了演示前后端交互,我们可以添加一些基本的CRUD(创建、读取、更新、删除)操作

     javascript // 创建新用户 app.post(/api/users,(req, res) =>{ const{ name, email} = req.body; const query = INSERT INTO users(name, email) VALUES(?, ?); pool.query(query,【name, email】,(error, results) =>{ if(error) throw error; res.status(201).json({ id: results.insertId, ...req.body}); }); }); // 更新用户信息 app.put(/api/users/:id,(req, res) =>{ const{ id} = req.params; const{ name, email} = req.body; const query = UPDATE users SET name=?, email=? WHERE id=?; pool.query(query,【name, email, id】,(error, results) =>{ if(error) throw error; res.status(200).json({ ...req.body, id}); }); }); // 删除用户 app.delete(/api/users/:id,(req, res) =>{ const{ id} = req.params; const query = DELETE FROM users WHERE id=?; pool.query(query,【id】,(error, results) =>{ if(error) throw error; res.status(204).send(); }); }); 四、前端与后端交互 在Vue前端项目中,我们可以使用`axios`库来发送HTTP请求与后端API进行交互

     bash 在 Vue 项目中安装 axios cd ../my-vue-app npm install axios 1. 创建服务文件 在`src`目录下创建一个`services`文件夹,并在其中创建一个`userService.js`文件

     javascript import axios from axios; const API_URL = http://localhost:3000/api/users; export default{ getAllUsers(){ return axios.get(API_URL); }, createUser(userData){ return axios.post(API_URL, userData); }, updateUser(userId, userData){ return axios.put(`${API_URL}/${userId}`, userData); }, deleteUser(userId){

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道