资讯专栏INFORMATION COLUMN

Sequelize+mysql

lieeps / 2529人阅读

摘要:根据数据库接收连接数相应配置。客户来了,需要配备一个点餐员,客户来了随时响应。但是到了关门的时间了,我就会让撤销所有的点餐员。如果客户端请求服务器内没有响应就会被拒绝掉,而不会一直请求着。

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

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

下面来讲讲工具的使用
navicat + XAMPP

navicat 建立数据库
第一步建立连接,如图:

第二步创建数据库,在任意数据库右键,新建数据库,如图:

第三步建表。创建数据库成功之后肯定要开始建表了对吧,must,如图:

字段什么的就自己建去吧

数据库设计?不好意思,我也不会设计,233333

XAMPP 是干什么的呢,我也不是很清楚,反正我使用的这个版本的Navicat中XAMPP 是必须的存在

简单的来说XAMPP只是给我的mysql提供了一个服务,使我能够访问到数据库
我们访问数据库都是通过localhost 或者 自己的ip ,如果需要别人也能访问到我的ip相对的数据库需要设置一个广域,如图:

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

好了好了,我们要切入正题了

sequelize 配置资源池

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

database 文件如图:

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

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








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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100270.html

相关文章

  • sequelize入门

    摘要:最近在公司接触到了的框架,研究了一下官方文档,做了以下整理其他定义方法字段类型是否允许为字段是否自定义表名是否需要增加字段不需要字段将字段改个名将字段改名同时需要设置为此种模式下,删除数据时不会进行物理删除,而是设置为当前时间 最近在公司接触到了sequelize(Nodejs的ORM框架),研究了一下官方文档,做了以下整理 Models Definition let DeviceIn...

    kidsamong 评论0 收藏0
  • 4.2 数据库表/Sequelize Mysql-博客后端Api-NodeJs+Express+My

    功能梳理完了以后,咱们就可以开始数据库表设计了: 数据库表图: showImg(https://segmentfault.com/img/bVbr9GC?w=1922&h=1140); 首先打开Navicat Premium 创建数据库 blog 配置如下: showImg(https://segmentfault.com/img/bVbr81Y?w=720&h=352); 课前学习:1、Sequ...

    nicercode 评论0 收藏0

发表评论

0条评论

lieeps

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<