NodeJS 了解和快速入門 - 實(shí)現(xiàn) HTTP 服務(wù) & 操作 MySQL 教程
Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境,它使得 JavaScript 能夠在服務(wù)器端運(yùn)行。Node.js 的非阻塞 I/O 模型使其非常適合構(gòu)建高并發(fā)的網(wǎng)絡(luò)應(yīng)用。本文將詳細(xì)介紹如何使用 Node.js 實(shí)現(xiàn)一個(gè)簡單的 HTTP 服務(wù),并通過 Node.js 操作 MySQL 數(shù)據(jù)庫。
藍(lán)易云 - NodeJS 了解和快速入門 - 實(shí)現(xiàn) http 服務(wù) & 操作 mysql教程。-1.jpg (170.64 KB, 下載次數(shù): 31)
下載附件
2024-8-11 13:11 上傳
云服務(wù)器,高防服務(wù)器就選藍(lán)易云,頭條搜索:藍(lán)易云
藍(lán)易云 - NodeJS 了解和快速入門 - 實(shí)現(xiàn) http 服務(wù) & 操作 mysql教程。-2.jpg (120.25 KB, 下載次數(shù): 26)
下載附件
2024-8-11 13:11 上傳
云服務(wù)器,高防服務(wù)器就選藍(lán)易云,頭條搜索:藍(lán)易云
安裝 Node.js 和 MySQL
安裝 Node.js
- 從 Node.js 官方網(wǎng)站下載并安裝:
- 訪問 Node.js 官方網(wǎng)站
- 下載適合你操作系統(tǒng)的安裝包,并按照提示安裝
- 驗(yàn)證安裝:
打開命令行工具,輸入以下命令驗(yàn)證安裝是否成功:
- node -v npm -v
- 如果成功安裝,會(huì)顯示 Node.js 和 npm 的版本號(hào)。
安裝 MySQL
- 從 MySQL 官方網(wǎng)站下載并安裝:
- 訪問 MySQL 官方網(wǎng)站
- 下載并安裝適合你操作系統(tǒng)的 MySQL 版本
- 配置 MySQL:
在安裝過程中會(huì)提示設(shè)置 root 用戶的密碼,記住這個(gè)密碼,后續(xù)操作會(huì)用到。
- 啟動(dòng) MySQL 服務(wù):
打開命令行工具,輸入以下命令啟動(dòng) MySQL 服務(wù):
- mysql -u root -p
- 輸入密碼后,進(jìn)入 MySQL 命令行界面。
實(shí)現(xiàn) HTTP 服務(wù)
創(chuàng)建項(xiàng)目文件夾并初始化
- 創(chuàng)建項(xiàng)目文件夾:
- mkdir node-http-mysql cd node-http-mysql
- 初始化項(xiàng)目:
- npm init -y
- 這將創(chuàng)建一個(gè) package.json 文件,用于管理項(xiàng)目依賴。
安裝必要的包
安裝 express 以便快速創(chuàng)建 HTTP 服務(wù),并安裝 mysql 包以便操作 MySQL 數(shù)據(jù)庫:
npm install express mysql創(chuàng)建 HTTP 服務(wù)
在項(xiàng)目根目錄下創(chuàng)建一個(gè) server.js 文件,并編寫以下代碼:
const express = require('express');const app = express();const port = 3000;// 設(shè)置路由app.get('/', (req, res) => { res.send('Hello World!');});// 啟動(dòng)服務(wù)器app.listen(port, () => { console.log(`Server running at http://localhost:${port}/`);});解釋:
- express 模塊用于創(chuàng)建 HTTP 服務(wù)器。
- app.get 定義了一個(gè)簡單的路由,當(dāng)訪問根路徑時(shí)返回 "Hello World!"。
- app.listen 啟動(dòng)服務(wù)器,監(jiān)聽指定的端口。
運(yùn)行 HTTP 服務(wù)
在命令行工具中,運(yùn)行以下命令啟動(dòng)服務(wù)器:
node server.js打開瀏覽器,訪問 http://localhost:3000,你應(yīng)該會(huì)看到 "Hello World!"。
操作 MySQL 數(shù)據(jù)庫
連接 MySQL 數(shù)據(jù)庫
在項(xiàng)目根目錄下創(chuàng)建一個(gè) db.js 文件,并編寫以下代碼:
const mysql = require('mysql');// 創(chuàng)建連接池const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'root', password: 'your_password', database: 'test_db'});module.exports = pool;解釋:
- mysql 模塊用于連接 MySQL 數(shù)據(jù)庫。
- mysql.createPool 創(chuàng)建一個(gè)連接池,管理與 MySQL 數(shù)據(jù)庫的多個(gè)連接。
- module.exports 導(dǎo)出連接池對(duì)象,以便在其他文件中使用。
創(chuàng)建數(shù)據(jù)庫和表
在 MySQL 命令行界面,執(zhí)行以下命令創(chuàng)建一個(gè)數(shù)據(jù)庫和表:
CREATE DATABASE test_db;USE test_db;CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT);實(shí)現(xiàn) CRUD 操作
在 server.js 文件中添加以下代碼,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的 CRUD 操作:
const pool = require('./db');// 插入數(shù)據(jù)app.post('/addUser', (req, res) => { const user = { name: 'John Doe', age: 30 }; pool.query('INSERT INTO users SET ?', user, (error, results) => { if (error) throw error; res.send('User added successfully!'); });});// 查詢數(shù)據(jù)app.get('/users', (req, res) => { pool.query('SELECT * FROM users', (error, results) => { if (error) throw error; res.json(results); });});// 更新數(shù)據(jù)app.put('/updateUser/:id', (req, res) => { const { id } = req.params; const { name, age } = req.body; pool.query('UPDATE users SET name = ?, age = ? WHERE id = ?', [name, age, id], (error, results) => { if (error) throw error; res.send('User updated successfully!'); });});// 刪除數(shù)據(jù)app.delete('/deleteUser/:id', (req, res) => { const { id } = req.params; pool.query('DELETE FROM users WHERE id = ?', [id], (error, results) => { if (error) throw error; res.send('User deleted successfully!'); });});解釋:
- 插入數(shù)據(jù):通過 POST 請(qǐng)求向 users 表中插入數(shù)據(jù)。
- 查詢數(shù)據(jù):通過 GET 請(qǐng)求查詢 users 表中的所有數(shù)據(jù)。
- 更新數(shù)據(jù):通過 PUT 請(qǐng)求更新指定用戶的數(shù)據(jù)。
- 刪除數(shù)據(jù):通過 DELETE 請(qǐng)求刪除指定用戶的數(shù)據(jù)。
測(cè)試 CRUD 操作
可以使用 Postman 或其他類似工具測(cè)試上述 CRUD 操作。確保服務(wù)器正在運(yùn)行,然后分別發(fā)送 POST、GET、PUT 和 DELETE 請(qǐng)求。
結(jié)論
本文介紹了如何使用 Node.js 實(shí)現(xiàn)一個(gè)簡單的 HTTP 服務(wù),并通過 Node.js 操作 MySQL 數(shù)據(jù)庫。通過上述步驟,您可以快速入門 Node.js,并掌握基本的 HTTP 服務(wù)創(chuàng)建和數(shù)據(jù)庫操作技能。希望本文對(duì)您有所幫助,并能夠幫助您在實(shí)際項(xiàng)目中靈活運(yùn)用這些技術(shù)。 |
|