编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

koa2项目2

wxchong 2024-06-19 22:20:00 开源技术 11 ℃ 0 评论

1、安装sequelize

Sequelize 是Node 的一个 ORM(Object-Relational Mapping) 框架,用来方便数据库操作。

// 安装sequelize
$ npm install --save sequelize
// 安装mysql驱动
$ npm install --save mysql2

2、配置连接数据库

//dbs/config.js
module.exports = {
 // 打开哪个数据库
 database: '***',
 // 用户名
 username: '***',
 // 密码
 password: '****',
 // 使用哪个数据库程序
 dialect: 'mysql',
 operatorsAliases: false,
 // 地址
 host: 'localhost',
 // 端口
 port: 3306,
 // 连接池
 pool: {
 max: 5,
 min: 0,
 acquire: 30000,
 idle: 10000
 },
 // 数据表相关的全局配置
 define: {
 // 是否冻结表名
 // 默认情况下,表名会转换为复数形式
 freezeTableName: true,
 // 是否为表添加 createdAt 和 updatedAt 字段
 // createdAt 记录表的创建时间
 // updatedAt 记录字段更新时间
 timestamps: true,
 // 是否为表添加 deletedAt 字段
 // 默认情况下, destroy() 方法会删除数据,
 // 设置 paranoid 为 true 时,将会更新 deletedAt 字段,并不会真实删除数据。
 paranoid: false
 },
 // 时区
 timezone: '+08:00'
}

3、定义数据模型

//dbs/models/users.js
module.exports=(sequelize,DataTypes)=>{
 return sequelize.define('users',{
 id:{
 type:DataTypes.INTEGER(),
 primaryKey:true
 },
 nickname:{
 type:DataTypes.STRING(), 
 },
 avatarUrl:{
 type:DataTypes.STRING(),
 }
 });
}

将模型导入一个文件index.js统一调用。

//dbs/models/index.js
const Sequelize=require('sequelize')
const config=require('../config')
const sequelize=new Sequelize(config)
const path=require('path')
//export const sequelize = new Sequelize(config)
const User=sequelize.import(path.join(__dirname,'users'))
module.exports={
 User
}

4、接口供前端调用

//api/users.js
const router = require('koa-router')()
const {User}=require('../dbs/models/index')
router.prefix('/users')
router.get('/', async (ctx, next) => {
 let user = await User.findAll({
 })
 ctx.body = {
 user
 }
})
module.exports = router

然后将这个接口路由放到主文件中便可以使用了

// 引入接口
const users=require('./api/users')
// 路由
app.use(users.routes()).use(users.allowedMethods())

访问这个接口便可以得到数据:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表