【Express.js】Sql-ORM 增删改查
在Express.js中使用SQL ORM进行增删改查的基本示例代码如下:
首先,确保安装了Express和一个SQL ORM,如Sequelize或Bookshelf等。
npm install express sequelize mysql2
以下示例使用Sequelize:
const express = require('express');
const Sequelize = require('sequelize');
const app = express();
// 初始化数据库连接
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql' // 根据实际数据库类型修改
});
// 定义模型
const User = sequelize.define('User', {
name: Sequelize.STRING,
email: Sequelize.STRING
});
// 测试连接
async function testConnection() {
try {
await sequelize.authenticate();
console.log('Connection has been established successfully.');
} catch (error) {
console.error('Unable to connect to the database:', error);
}
}
testConnection();
// 创建一个用户
app.post('/users', async (req, res) => {
try {
const user = await User.create(req.body);
res.status(201).json(user);
} catch (error) {
res.status(400).json({ error: error.message });
}
});
// 获取所有用户
app.get('/users', async (req, res) => {
try {
const users = await User.findAll();
res.json(users);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 更新用户
app.put('/users/:id', async (req, res) => {
try {
const user = await User.update(req.body, { where: { id: req.params.id } });
res.json(user);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 删除用户
app.delete('/users/:id', async (req, res) => {
try {
const numDeleted = await User.destroy({ where: { id: req.params.id } });
res.json({ deleted: numDeleted });
} catch (error) {
res.status(500).json({ error: error.message });
}
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
确保在运行代码前创建数据库,并根据实际情况修改连接参数和模型定义。这个示例提供了创建、读取、更新和删除操作的基础,但实际应用中可能需要更复杂的逻辑,例如处理关联关系、事务处理等。
评论已关闭