Sequelize+mysql

网上找了不少资料,大多都是雷同的。我这里也是大同小异 ,只是想记录一下查阅资料的过程
小白上路,高手勿怪......mysql

首先固然是要安装 mysql12 和 Sequelize
执行npm i mysql12 --save 和 npm i Sequelize --save
我还手动安装了一个全局的mysql~~sql

下面来说讲工具的使用
navicat + XAMPP 数据库

navicat 创建数据库
第一步创建链接,如图:
clipboard.pngnpm

第二步建立数据库,在任意数据库右键,新建数据库,如图:
clipboard.png服务器

第三步建表。建立数据库成功以后确定要开始建表了对吧,must,如图:
clipboard.png
字段什么的就本身建去吧数据库设计

数据库设计?很差意思,我也不会设计,233333工具

XAMPP 是干什么的呢,我也不是很清楚,反正我使用的这个版本的Navicat中XAMPP 是必须的存在
clipboard.png
简单的来讲XAMPP只是给个人mysql提供了一个服务,使我可以访问到数据库
咱们访问数据库都是经过localhost 或者 本身的ip ,若是须要别人也能访问到个人ip相对的数据库须要设置一个广域,如图:ui

clipboard.png

clipboard.png

emmmmmm......这里设置成0.0.0.0 就ok咯spa


好了好了,咱们要切入正题了设计

sequelize 配置资源池

let Sequelize = require('sequelize');
const database = require('../database');
let _sequelize = new Sequelize('tpzdz', database.name, database.password, database.pool);
module.exports = _sequelize;

database 文件如图:
clipboard.png

pool中配置资源池
max:最大链接数。根据数据库接收链接数相应配置。若是数据库接收最大链接数是100,那么这里必须小于100。
min:最小链接数。最小指的是我在规定时间内给你保留这么多个连接,以便你再来的时候我能够给你直接匹配。这个点一直很差理解,举个栗子:饭店点餐员,就是连接数。客户来点餐,就是客户端请求数据。客户来了,须要配备一个点餐员,客户来了随时响应。可是到了关门的时间了,我就会让撤销全部的点餐员。
acquire:等待连接时间。若是客户端请求服务器 30s内没有响应就会被拒绝掉,而不会一直请求着。如同打电话,超过期间以后就会提示你“对不起,您拨打的电话暂时无人接听”,而不是一直“嘟~嘟~”
idle:资源池闲置时间。指的是若是在规定时间内没有客户端的请求服务器,那么超过期间我就会释放掉个人本次的资源池。

建模
sequelize提供根据数据库表创建modal,可是本次我使用的是本身手动创建

let Sequelize = require('sequelize');
const database = require('../database');
let db = new Sequelize('tpzdz', database.name, database.password, database.pool);

let t_admin = db.define(
  't_admin',
  {
    id: {
      filed: 'id',
      primaryKey: true,
      type: Sequelize.BIGINT,
      allowNull: false,
      autoIncrement: true
    },
    name: {
      field: 'name',
      type: Sequelize.STRING,
      allowNull: true
    },
    auth: {
      field: 'auth',
      type: Sequelize.STRING,
      allowNull: true
    },
    password: {
      field: 'password',
      type: Sequelize.STRING,
      allowNull: false
    },
    chineseName: {
      field: 'chineseName',
      type: Sequelize.STRING,
      allowNull: true
    }
  },
  {
    tableName: 't_admin',
    timestamps: false,
    freezeTableName: true
  }
);


module.exports = t_admin;

freezeTableName:默认false修改表名为复数,true不修改表名,与数据库表名同步
timestamps:是否自动添加时间戳createAt,updateAt

接下就是使用过程了...........








预知后事如何,请听下回分解。。。。。。。。

相关文章
相关标签/搜索