2

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

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

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

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

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

第三步建表。创建数据库成功之后肯定要开始建表了对吧,must,如图:
clipboard.png
字段什么的就自己建去吧

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

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

clipboard.png

clipboard.png

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 文件如图:
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

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








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


木子
9 声望1 粉丝