Express.js 是一个流行的 Node.js Web 框架,而 MySQL 是一种广泛使用的关系型数据库。本文将介绍如何结合使用 Express.js 和 MySQL 构建功能强大的 Web 应用程序。
首先,确保您已经安装了 Node.js 和 MySQL。然后,通过以下步骤设置项目
创建一个名为 test_demo的文件夹,并在开发工具中打开。
npm init -y
npm install express mysql
app.js
文件,并导入所需模块const express = require('express');
const mysql = require('mysql');
const app = express();
const connection = mysql.createConnection({ host: 'localhost',
user: '数据库用户名',
password: '数据库密码',
database: '数据库名' });
connection.connect((err) => {
if (err) {
console.error('连接数据库失败: ', err);
return;
}
console.log('连接数据库成功!');
});
在数据库当中执行以下sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
现在,让我们创建一些路由来处理 Web 请求,并使用 MySQL 进行数据操作。以下是一个示例路由,用于获取和创建用户:
app.get('/users', (req, res) => {
connection.query('SELECT * FROM users', (err, results) => {
if (err) {
console.error('Error retrieving users: ', err);
res.status(500).send('Internal Server Error');
return;
}
res.json(results);
});
});
app.post('/users', (req, res) => {
const { name, email } = req.body;
connection.query('INSERT INTO users (name, email) VALUES (?, ?)',
[name, email], (err, result) => {
if (err) {
console.error('Error creating user: ', err);
res.status(500).send('Internal Server Error');
return;
}
res.status(201).json({ name, email });
});
});
最后,我们需要启动 Express.js 服务器并监听指定的端口:
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`http://127.0.0.1:${PORT}`);
});