当前位置: 首页 > news >正文

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);
});

在以上代码中:

  1. 初始化了Express应用,并配置了body-parser中间件来解析JSON请求体。
  2. 配置了Sequelize以使用SQLite数据库,并定义了一个User模型。
  3. 使用sequelize.sync()方法同步模型到数据库(如果数据库和表不存在,它们将被创建)。
  4. 定义了RESTful路由来处理对/users端点的GET、POST、PUT和DELETE请求。
  5. 启动了Express服务器,监听指定的端口。

        运行这个Node.js应用程序,并使用Postman或类似的工具来测试这些RESTful API端点。例如,你可以发送POST请求到/users端点来创建一个新用户,然后发送GET请求到/users端点来获取所有用户。


http://www.mrgr.cn/news/69412.html

相关文章:

  • 【JavaScript】LeetCode:96-100
  • RedisTemplate序列化设置
  • 使用python-Spark使用的场景案例具体代码分析
  • 5G 现网信令参数学习(3) - RrcSetup(1)
  • 学习日志010--python异常处理机制与简单文件操作
  • Flutter开发应用安装二次打开闪退,ios解决方案
  • “2048”游戏网页版html+css+js
  • 2024系统分析师---微服务架构(淘宝押题)
  • 万字长文解读深度学习——GPT、BERT、T5
  • FFmpeg存放压缩后的音视频数据的结构体:AVPacket简介,结构体,函数
  • C++入门(下)
  • 关于c语言内存越界及防范措施
  • C#-密封类、密封方法
  • 发顶会首选:大模型+时间序列!掌握这3大切入点,小白也能轻松上手!
  • 终端会话工具byobu
  • 增强现实技术在零售业中的应用
  • 程序员应该有什么职业素养?
  • 每日一题之二叉树
  • 程序员学长 | 最强总结,机器学习中处理不平衡数据集的五种方法!!
  • 配置多公钥在多平台使用Git
  • 【Steam登录】protobuf协议逆向
  • 字符在线统计字符在线统计
  • Vue3中使用Ant Design Vue的Table组件详解
  • Qt教程(007):资源文件添加
  • 利用 Screen 保持 VSCode 连接远程任务持续运行
  • 使用Docker快速部署FastAPI Web应用