Koa入门(二)—— Koa使用Sequelize连接数据库

本文介绍了如何在Koa项目中使用Sequelize连接MySQL数据库,包括数据库信息配置、DB层、model层、service层、controller层的设置,以及如何进行全局异常处理和多数据库配置。重点讲解了.env、config文件的修改,以及读写数据库的操作区别。
摘要由CSDN通过智能技术生成

Koa使用Sequelize连接数据库

使用的基础目录结构:Koa入门(一)—— Koa项目基础框架搭建

基础表:

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `phone` varchar(20) NOT NULL COMMENT '手机号',
  `password` varchar(64) NOT NULL COMMENT '密码',
  `nick_name` varchar(50) NOT NULL DEFAULT '' COMMENT '昵称',
  `sex` tinyint(4) NOT NULL DEFAULT '1' COMMENT '性别,1:男;2:女',
  `created_at` datetime NOT NULL COMMENT '创建时间',
  `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

sequelize 可以根据模型自动生成数据库表字段信息,不过个人比较喜欢自己建表,不喜欢使用这个功能

数据库信息配置

// src/main/config/index.js
export default {
   
  middlewares: [
    'globalError'
  ],
  db: {
   
    username: process.env.DB_USERNAME,
    password: process.env.DB_PASSWORD,
    host: process.env.DB_HOST,
    database: process.env.DB_DATABASE,
    dialect: process.env.DB_DIALECT,
    define: {
   
      // 数据库字段下划线命名,匹配模型驼峰式命名
      underscored: true,
      // 禁用修改表名
      freezeTableName: true
    },
    timezone: '+08:00',
    // 返回的时间格式配置
    dialectOptions: {
   
      dateStrings: true,
      typeCast: true
    }
  }
};

process.env的所有配置都在 .env 文件里:

NODE_ENV=dev

PORT=4000

DB_USERNAME=koa_demo
DB_PASSWORD=koa_demo
DB_HOST=localhost
DB_DATABASE=koa-demo
DB_DIALECT=mysql

DB层

// src/main/db/index.js
import config from '@main/config';
import Sequelize from 'sequelize';
import requireDirectory from 'require-directory';

const sequelize = new Sequelize(config.db);

// 加载模型
requireDirectory(module, '../model', {
   
  visit: (obj) => {
   
    if (obj.modelName
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值