Express 是一个基于 Node.js 的 轻量级 Web 框架,用于快速构建 RESTful API 和 Web 应用。它提供了路由、中间件、模板引擎等功能,是 Node.js 开发中最流行的框架之一。
新建【express-pgAdmin】
文件夹,并用cmd
打开,运行如下命令,使用该npm init
命令为您的应用程序创建一个package.json
文件:
npm init
安装express
:
npm install express
在【express-pgAdmin】
文件夹下新建app.js
文件,并添加如下代码:
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
使用以下命令运行该应用程序:
node app.js
浏览器访问:
安装库:
npm install pg
创建连接池:
const {Pool} = require("pg")
// PostgreSQL 配置信息
const pool = new Pool({
user: "postgres", // 你的 PostgreSQL 用户名
host: "localhost", // pgAdmin 数据库主机
database: "basketball", // 你的数据库名称
password: "postgres", // 你的数据库密码
port: 5432, // 默认 PostgreSQL 端口
});
测试连接:
// 测试数据库连接
pool.connect((err, client, release) => {
if (err) {
return console.error("数据库连接失败", err.stack);
}
console.log("数据库连接成功");
release();
});
启动程序:
node app.js
代码实现:
// 创建一个简单的路由来查询数据库
app.get('/data', async (req, res) => {
try {
// 执行 SQL 查询
const { rows } = await pool.query('SELECT * FROM nba.teams');
res.json(rows);
} catch (error) {
console.error('Error querying the database:', error);
res.status(500).json({ error: 'Internal Server Error' });
}
});
浏览器访问查看结果:
代码实现:
// 插入数据 API
app.post("/add", async (req, res) => {
console.log(req.body);
const {id, name, city } = req.body;
if (!name || !city || !id) {
return res.status(400).json({ error: "缺少 name 或 id" });
}
try {
const result = await pool.query(
"INSERT INTO nba.teams (id, name, city) VALUES ($1, $2, $3) RETURNING *",
[id, name, city]
);
res.status(201).json({ message: "球队创建成功", teams: result.rows[0] });
} catch (err) {
console.error("插入失败:", err);
res.status(500).json({ error: "插入失败,可能是 id 已存在" });
}
});
使用postman测试: