使用Express框架与MySQL构建Web应用

在现代Web开发中,Express作为Node.js的一个轻量级框架,因其灵活性和易用性而广受欢迎。在这篇文章中,我们将结合MySQL数据库,探讨如何使用Express框架构建一个简单的Web应用。我们将以一个用户管理系统为例,涵盖从数据库连接到基本的CRUD(创建、读取、更新和删除)操作的实现。

环境准备

在开始之前,确保您的环境中已安装以下工具:

  1. Node.js
  2. MySQL
  3. npm(Node.js包管理器)

然后,我们可以通过以下命令安装所需的npm包:

npm install express mysql

数据库设计

我们将创建一个简单的“用户”表来存储用户信息。以下是SQL语句,用于创建该表:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE
);

Express与MySQL集成

下面是连接MySQL数据库的基本代码示例。在此例中,我们将处理简单的用户信息创建和获取:

const express = require('express');
const mysql = require('mysql');

const app = express();
app.use(express.json());

// 创建数据库连接
const db = mysql.createConnection({
    host: 'localhost',
    user: 'your_username',
    password: 'your_password',
    database: 'your_database'
});

// 连接到数据库
db.connect((err) => {
    if (err) throw err;
    console.log('MySQL connected...');
});

// 添加用户
app.post('/users', (req, res) => {
    const user = req.body;
    const query = 'INSERT INTO users SET ?';
    db.query(query, user, (err, result) => {
        if (err) throw err;
        res.status(201).send(`User added with ID: ${result.insertId}`);
    });
});

// 获取用户信息
app.get('/users', (req, res) => {
    const query = 'SELECT * FROM users';
    db.query(query, (err, results) => {
        if (err) throw err;
        res.status(200).json(results);
    });
});

// 启动服务器
app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

代码解释

  • 数据库连接:我们使用mysql.createConnection连接到MySQL数据库。
  • API路由:通过Express定义了两个API路由,一个用于添加用户,另一个用于获取用户列表。

类图示例

下面是系统的类图,展示了User类及其与MySQL连接的关系:

classDiagram
    class User {
        +int id
        +String name
        +String email
        +createUser()
        +getAllUsers()
    }
    class Database {
        +connect()
        +query()
    }
    User --> Database : interacts with

序列图示例

以下是添加用户和获取用户的序列图,它描述了用户请求如何通过系统进行处理:

sequenceDiagram
    participant User
    participant API
    participant Database

    User->>API: POST /users
    API->>Database: INSERT INTO users
    Database-->>API: User added
    API-->>User: 201 Created

    User->>API: GET /users
    API->>Database: SELECT * FROM users
    Database-->>API: User data
    API-->>User: 200 OK with user data

结尾

在本篇文章中,我们介绍了如何将Express框架与MySQL数据库相结合,构建一个简单的用户管理系统。通过实例,我们学习了如何进行数据的增删改查操作,了解了系统类图和序列图的基本结构及其用途。这不仅是Web开发的基础,同时也为实现更复杂的应用打下了良好的基础。希望本文能为你的学习提供一些帮助!