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

广州网站建设电话今天最新新闻

广州网站建设电话,今天最新新闻,金华网站建设微信开发,设计一个网站报价ExpressSequelizeExpress 是一个保持最小规模的灵活的 Node.js Web应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。Sequelize是一个基于 promise的 Node.js ORM。安装:npm install express5.1.0 npm install cors2.8.5 npm install body-pa…

Express+Sequelize

Express 是一个保持最小规模的灵活的 Node.js Web应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。

Sequelize是一个基于 promise的 Node.js ORM。

安装:

npm install express@5.1.0
npm install cors@2.8.5
npm install body-parser@2.2.0
npm install sequelize@6.37.7 --save
npm install  mysql2@3.14.2 --save

app.js

const express = require('express');
const app = new express();
const cors = require('cors');
const bodyParser = require('body-parser');const userRouter = require('./src/router/user.router');
const roleRouter = require('./src/router/role.router');// 跨域处理
app.use(new cors());// 使用 express.urlencoded() 中间件
app.use(express.urlencoded({ extended: true }));
// 使用body-parser中间件解析JSON
app.use(bodyParser.json());app.use('/api/user', userRouter);
app.use('/api/role', roleRouter);const PORT = 3000;app.listen(PORT, () => {console.log(`Server is running on port ${PORT}.`);
});

src\router\user.router.js

const express = require('express');
const router = new express.Router();
const userService = require('../service/user.service');// 增加用户
router.post('/add', async function (req, res) {const jsonData = req.body;const commonMsg = {code: 300};try {const user = await userService.addUser(jsonData);commonMsg.code = 200;commonMsg.data = user;} catch (error) {console.log(error.message);commonMsg.errMsg = error.message;} finally {res.json(commonMsg);}
});// 删除用户
router.delete('/:id', async (req, res) => {// 获取URL中的id参数const userId = req.params.id;const commonMsg = {code: 300};try {const result = await userService.deleteUser(userId);commonMsg.code = 200;commonMsg.data = result;} catch (error) {console.log(error.message);commonMsg.errMsg = error.message;} finally {res.json(commonMsg);}
});// 修改用户
router.post('/modify', async (req, res) => {const jsonData = req.body;const commonMsg = {code: 300};console.log(jsonData);try {await userService.modifyUser(jsonData);commonMsg.code = 200;} catch (error) {console.log("router log : ", error.message);commonMsg.errMsg = error.message;} finally {res.json(commonMsg);}
});// 查找用户
router.get('/:id', async (req, res) => {const userId = req.params.id;const commonMsg = {code: 300};try {const user = await userService.findUser(userId);commonMsg.code = 200;commonMsg.data = user;} catch (error) {console.log(error.message);commonMsg.errMsg = error.message;} finally {res.json(commonMsg);}
});// 列表查询
router.post('/query', async (req, res) => {const jsonData = req.body;const commonMsg = {code: 300};try {const user = await userService.queryUser(jsonData);commonMsg.code = 200;commonMsg.data = user;} catch (error) {console.log(error);commonMsg.errMsg = error.message;} finally {res.json(commonMsg);}
});router.post('/page', async (req, res) => {const jsonData = req.body;const commonMsg = {code: 300};try {const user = await userService.pageUser(jsonData);commonMsg.code = 200;commonMsg.data = user;} catch (error) {console.log(error);commonMsg.errMsg = error.message;} finally {res.json(commonMsg);}
});module.exports = router;

src\service\user.service.js

const sequelize = require('../common/sequelize');
const User = require('../model/user');const userService = {// 增加操作 async addUser(data) {try {const newUser = new User(data);await newUser.save();return newUser;} catch (error) {console.log(error.message);throw new Error("添加用户错误: " + error.message);}},// 删除操作async deleteUser(id) {let user = null;try {user = await User.findOne({ where: { id: id } });if (user) {await User.destroy({where: { id: id }});}} catch (error) {throw new Error("删除用户错误: " + error.message);} finally {return user;}},// 修改操作async modifyUser(data) {const transaction = await sequelize.transaction()try {const user = await User.findOne({ where: { id: data.id } });if (user) {await User.update(data, { where: { id: data.id } }, { transaction: transaction });await transaction.commit();}} catch (error) {console.log("service log : ", error.message);transaction.rollback();throw new Error("修改用户错误: " + error.message);}},// 单个查询async findUser(id) {let user = null;try {user = await User.findOne({ where: { id: id } });} catch (error) {console.log("service log : ", error.message);throw new Error("查询单个用户错误:" + error.message);} finally {return user;}},// 列表查询async queryUser(data) {let useList = null;try {useList = await User.findAll({ where: data });} catch (error) {console.log("service log : ", error.message);throw new Error("列表查询用户错误: " + error.message);} finally {return useList;}},// 分页查询async pageUser(data) {let resultData = {};try {const currentPage = data.currentPage;// 每页显示的记录数const pageSize = data.pageSize;// 计算offsetconst offset = (currentPage - 1) * pageSize;if (data.currentPage) {delete data.currentPage}if (data.pageSize) {delete data.pageSize}const options = {where: data,// 确保结果按ID升序排列,以便正确使用游标order: [['id', 'ASC']],offset: offset,limit: pageSize,};const result = await User.findAndCountAll(options);resultData.currentPage = currentPage;resultData.pageSize = pageSize;resultData.data = result.rows;resultData.total = result.count;} catch (error) {console.log("service log : ", error.message);throw new Error("分页查询用户错误: " + error.message);} finally {return resultData;}},};module.exports = userService;

src\model\user.js

const { Sequelize } = require('sequelize');
const sequelize = require('../common/sequelize');// define  User  是 id,表示唯一
const User = sequelize.define('User', {id: {type: Sequelize.INTEGER, // 类型primaryKey: true, // 主键autoIncrement: true, // 是否允许自增comment: '主键'},name: {type: Sequelize.STRING(50),allowNull: false, // 是否允许为空unique: true, // 唯一comment: '用户名称'},age: {type: Sequelize.INTEGER,allowNull: false, // 是否允许为空comment: '年龄'},email: {type: Sequelize.STRING,comment: '用户邮箱'},status: {type: Sequelize.INTEGER,defaultValue: 1,comment: '用户状态'}
}, {sequelize,  // 传递连接实例tableName: 't_user', // 对应的数据库表comment: '用户表',      timestamps: false
});
module.exports = User;

src\common\sequelize.js

const { Sequelize } = require('sequelize');
// sequelize 实例
const sequelize = new Sequelize('test', 'root', '123456', {host: 'localhost',dialect: 'mysql',// 连接池pool: {max: 5, // 连接池中最大连接数量min: 0, // 连接池中最小连接数量acquire: 30000,idle: 10000  // 如果一个线程 10 秒钟内没有被使用过的话,那么就释放线程},logging: true // SQL日志
});// 测试数据库连接
(async () => {try {await sequelize.authenticate();console.log('数据库连接成功');} catch (error) {console.error('数据库连接失败', error);}
})();module.exports = sequelize;

http://www.dtcms.com/wzjs/433710.html

相关文章:

  • 网站建设人才有哪些广东seo排名
  • wordpress做成论坛系统西安百度seo
  • 网站建设验收条款企业网络营销推广方案策划
  • 许昌企业网站建设seo外链在线工具
  • 哈尔滨网站建设服务网站关键词排名优化系统
  • 36氪国外做网站seo教程seo教程
  • 美食网站页面设计模板聚名网域名
  • 指定网站建设项目规划书站长网站查询工具
  • 做网站怎么收费seo网站关键词优化哪家好
  • 济南网站建设live2500百度客服人工服务
  • wordpress 闭站网络营销策略的特点
  • 南江县建设局网站广州从化发布
  • 如何自助建网站免费b站软件推广网站2023
  • 不收费的企业查询网站seo在线短视频发布页
  • 南京html5响应式网站建设seo实战密码第三版
  • 南阳教育论坛网站建设googleplay官网
  • 四川住房和城乡建设厅网站线上销售怎么做
  • 深圳宝安做网站中国行业数据分析网
  • 广东专注网站建设怎么样国外域名注册平台
  • 网站的网站建设公司52种新颖的促销方式
  • 国内哪个推广网站做的好最知名的网站推广公司
  • fullpage wow做的网站seo社区
  • 厦门网站建设公司排行榜百度广告收费标准
  • 北京建设局投诉网站首页软文代写新闻稿
  • iis 网站建设中营销策划方案模板范文
  • 想在淘宝上找网站建设的靠谱吗大专网络营销专业好不好
  • 郑州建网站seo排名优化软件免费
  • 卫龙的网站做的污污分运营培训班学费大概多少
  • 南阳网站企业网站的作用和意义
  • 查网站备案号今日新闻最新事件