面试题答案
一键面试- 安装依赖:
首先,确保项目中安装了
express
和mysql
模块。在项目目录下运行以下命令:npm install express mysql
- 关键代码片段:
const express = require('express'); const mysql = require('mysql'); const app = express(); app.use(express.json()); // 创建数据库连接 const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'your_database' }); connection.connect((err) => { if (err) { console.error('Error connecting to MySQL:', err); return; } console.log('Connected to MySQL database!'); }); app.post('/users', (req, res) => { const { name, age } = req.body; const sql = 'INSERT INTO users (name, age) VALUES (?,?)'; connection.query(sql, [name, age], (err, results) => { if (err) { console.error('Error inserting user:', err); return res.status(500).json({ error: 'Failed to insert user' }); } res.status(201).json({ message: 'User inserted successfully' }); }); }); const port = 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); });
- 代码解释:
- 引入模块:
const express = require('express');
引入Express框架,用于构建Web应用。const mysql = require('mysql');
引入MySQL数据库连接模块。
- 创建Express应用并配置中间件:
const app = express();
创建一个Express应用实例。app.use(express.json());
使用express.json()
中间件,以便能够解析JSON格式的请求体。
- 创建数据库连接:
const connection = mysql.createConnection({... });
创建一个MySQL数据库连接,配置host
(数据库主机)、user
(数据库用户名)、password
(数据库密码)和database
(数据库名)。connection.connect((err) => {... });
连接到MySQL数据库,并在连接成功或失败时进行相应的日志输出。
- 处理用户插入请求:
app.post('/users', (req, res) => {... });
定义一个处理POST
请求到/users
路径的路由。const { name, age } = req.body;
从请求体中解构出name
和age
字段。const sql = 'INSERT INTO users (name, age) VALUES (?,?)';
定义SQL插入语句,?
是占位符。connection.query(sql, [name, age], (err, results) => {... });
执行SQL查询,将name
和age
的值作为参数传递,在查询成功或失败时进行相应处理。如果成功,返回状态码201和成功消息;如果失败,返回状态码500和错误消息。
- 启动服务器:
const port = 3000;
定义服务器端口。app.listen(port, () => {... });
启动Express服务器,并在控制台输出服务器运行的端口信息。
- 引入模块: