koa2+sequelize

2024-04-16 20:48
文章标签 sequelize koa2

本文主要是介绍koa2+sequelize,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我的目录:sequelize.js  
其中../conf/index 是你的配置文件const Sequelize = require('sequelize');
const config = require('../conf/index');
exports.sequelize = function () {return new Sequelize(config.mysql.database,config.mysql.user,config.mysql.password, {'dialect': 'mysql', // 数据库使用mysql'host': config.mysql.host, // 数据库服务器ip'port': config.mysql.port, // 数据库运行端口'timestamp': false, // 这个参数为true是MySQL会自动给每条数据添加createdAt和updateAt字段'quoteIdentifiers': true,'freezeTableName': true});
};配置文件:{
const conf = {port: 6200, //启动端口 ,这个根据你电脑环境的实际情况来配置base_url: '0.0.0.0',// 当前api服务器的域名// host: 'localhost',mysql: { // mysql数据库信息host: 'localhost',port: '3306',database: 'python',  //你可以修改你的数据库名字user: 'root',  //数据库登录账户 你寄己来password: 'xxx', //数据库登录密码 我就不知道你的是啥啦charset: 'UTF8mb4'}
}module.exports = conf;}
第二步定义表结构;
我的目录:model/ibook.js
module.exports = function (sequelize, DataTypes) {return sequelize.define('book', {id: {type: DataTypes.INTEGER,primaryKey: true},configId: {type: DataTypes.STRING(255)},count: {type: DataTypes.INTEGER},dataId: {type: DataTypes.STRING(255)},endTime: {type: DataTypes.DATE},name: {type: DataTypes.STRING(255)},order: {type: DataTypes.STRING(255)},startTime: {type: DataTypes.DATE},status: {type: DataTypes.INTEGER}},{freezeTableName: true,timestamps: false})
}
我的目录:model/index.js
第三步:引入sequelize.js 以及引入表向外暴露
const db = require("../sequelize/index").sequelize()
const bookModel = db.import("./book.js");module.exports.bookModel = bookModel;
 
第四步在路由中使用:添加数据:
const bookModel = require("../../models/index").bookModelmodule.exports = async (ctx, next) => { const {body: req} = ctx.request;const {list} = req.result;try {for (let i = 0; i < list.length; i++) {const item = list[i];await bookModel.create({configId: item.confId,count: item.count,dataId: item.dataId,endTime: item.endTime || null,name: item.name,order: item.order,startTime: item.startTime,status: item.status})}ctx.body = 200} catch (err) {console.log(err)ctx.body = 400}
}
将之前暴露出来的引入.
创建  await bookModel.create({})
查询:
const bookModel = require("../../models/index").bookModelmodule.exports = async (ctx, next) => { const {currentPage: page = 1} = ctx.request.query;const limit = 10;try {const res = await bookModel.findAll({limit: limit,offset: (page - 1) * limit})ctx.body = {data: res,currentPage: page,limit}} catch (err) {console.log(err)ctx.body = 400}
}查询 await bookModel.findAll

最后目录结构
在这里插入图片描述

这篇关于koa2+sequelize的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/909858

相关文章

Nodejs sequelize 事物处理

Transactions - 事务 Sequelize 支持两种使用事务的方法: 一个将根据 promise 链的结果自动提交或回滚事务,(如果启用)用回调将该事务传递给所有调用而另一个 leave committing,回滚并将事务传递给用户。 主要区别在于托管事务使用一个回调,对非托管事务而言期望 promise 返回一个 promise 的结果。 托管事务(auto-callba

Nodejs + sequelize 实现曾删改查

1. 下载资源库 npm install sequelize --save npm install mysql2 --save    // npm install mysql 提示不完整 2. 创建数据库配置文件 db.js,配置数据库 var Sequelize = require('sequelize'); module.exports = new Sequelize('blog',

Sequelize 中文文档 v4 - Transactions - 事务

Transactions - 事务 此系列文章的应用示例已发布于 GitHub: sequelize-docs-Zh-CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. Sequelize 支持两种使用事务的方法: 一个将根据 promise 链的结果自动提交或回滚事务,(如果启用)用回调将该事务传递给所有调用而另一个 leave committing,回滚

nodejs+Koa2实现小程序的微信支付请求(一)

nodejs+koa2 实现微信支付请求 在开发之前我们先看一下小程序向微信请求支付的业务流程  第一步,小程序先发起支付请求 小程序首先先向“商家系统后台”发起请求支付,也就是我们自己的后端服务,生成平台订单和签x 第二步,我们的nodejs服务接收到请求之后,处理支付请求,签名后强微信请求支付 let xmlData = await WXPlay.requestWXPay(wxP

Sequelize入门及简单的增删改查

前言 学习一下NodeJS怎么使用Sequelize怎么查询数据库数据 一、Sequelize是什么? Sequelize 是一个基于 promise 的 Node.js ORM, 二、搭建项目 1.安装过程 npm i -g sequelize-cli //全局安装sequelize-clinpm i sequelize mysql2 //安装sequelize和mysql

vue + koa2 + crypto-js + md5加密:创建加密账户、登录验证

一、前端页面设置 1、创建账户 import CryptoJS from 'crypto-js';const loginFun = function () {request({url: '/user/register',method: 'post',data: {username: ruleForm.username,password: CryptoJS.MD5(ruleForm.passw

node-sequelize--.Field ‘id‘ doesn‘t have a default value错误解决办法

存储的时候报Field 'id' doesn't have a default value错误 错误分析如下: 1.首先检查数据库设计的主键是否为Int 类型 2.如果是Int 类型检查数据库中设置是否为自增 各种数据库中的自增的方法不同,具体参考各个数据库的API

linux 发布项目nodejs项目后sequelize中的es6延展操作符...不支持解决

现场描述:linux 当前安装的node版本6+,第一次安装后是正常的,后台linux增加php解析后等一顿操作后,不知什么原因报sequelize中的es6延展操作符...不支持unexprect token 安装es-check 检测是否支持es6语法,结果检测是正常,直接蒙了。。。折腾了几天冷静想了下,升级了node版本,解决了,node应用正常运行了,感谢上帝!永无bug!

sequelize 批量添加和更新数据 bulkCreate

sequelize提供了批量插入数据的方法:Model.bulkCreate([…object])。   例如: let updatePhone = [{userName: '李白‘},{userName: '杜甫'}]db_erroressence.active_telephone.bulkCreate(updatePhone) ;db_erroressence:链接的数据库,

node.js项目中基于mysql利用sequelize-auto对照数据库自动生成相应的models

node.js项目中利用sequelize-auto对照数据库自动生成相应的models,使用sequelize-auto对照数据库自动生成相应的models减少了对数据库进行增删改查时的sql语句的编写。  以下为sequelize-auto对照数据库自动生成相应的models的步骤(由于我使用的数据库是MySQL,本篇介绍的是基于mysql) 1.创建数据库(推荐使用SQLyog工具