Sequelize+Sqlite3使用示例
以下是一个简单的示例,展示了如何在Node.js中使用Express框架、Sequelize ORM以及SQLite数据库来构建一个支持RESTful API的Web应用程序。
一,安装必要的npm包:
npm install express sequelize sqlite3 body-parser
二,创建JavaScript文件
(例如app.js
),并添加以下代码:
const express = require('express');
const { Sequelize, DataTypes } = require('sequelize');
const bodyParser = require('body-parser');
// 初始化Express应用
const app = express();
app.use(bodyParser.json());
// 配置Sequelize以使用SQLite数据库
const sequelize = new Sequelize({
dialect: 'sqlite',
storage: 'database.sqlite' // SQLite数据库文件的路径
});
// 定义User模型
const User = sequelize.define('User', {
username: {
type: DataTypes.STRING,
allowNull: false,
unique: true // 用户名唯一
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true // 邮箱唯一
}
});
// 同步模型到数据库(创建表)
sequelize.sync().then(() => {
console.log('Database & tables created!');
// 定义RESTful路由
// 获取所有用户
app.get('/users', async (req, res) => {
try {
const users = await User.findAll();
res.json(users);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 根据ID获取用户
app.get('/users/:id', async (req, res) => {
try {
const user = await User.findByPk(req.params.id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
res.json(user);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 创建新用户
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.put('/users/:id', async (req, res) => {
try {
const user = await User.findByPk(req.params.id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
await user.update(req.body);
res.json(user);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 删除用户
app.delete('/users/:id', async (req, res) => {
try {
const user = await User.findByPk(req.params.id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
await user.destroy();
res.json({ message: 'User deleted' });
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 启动Express服务器
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
}).catch(error => {
console.error('Unable to connect to the database:', error);
});
在以上代码中:
- 初始化了Express应用,并配置了
body-parser
中间件来解析JSON请求体。 - 配置了Sequelize以使用SQLite数据库,并定义了一个
User
模型。 - 使用
sequelize.sync()
方法同步模型到数据库(如果数据库和表不存在,它们将被创建)。 - 定义了RESTful路由来处理对
/users
端点的GET、POST、PUT和DELETE请求。 - 启动了Express服务器,监听指定的端口。
运行这个Node.js应用程序,并使用Postman或类似的工具来测试这些RESTful API端点。例如,你可以发送POST请求到/users
端点来创建一个新用户,然后发送GET请求到/users
端点来获取所有用户。
原文地址:https://blog.csdn.net/ch_s_t/article/details/143651259
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!