本章讲解express+ts使用Sequelize进行mysql操作,想更深入了解sequelize的话可以去看他的中文官网

1.npm安装Sequelize

npm i sequelize

npm i mysql2

2. 引入Sequelize

创建一个database文件夹,里面创建index.ts文件。文件中写入一下内容。

// /database/index.ts

import { Sequelize } from "sequelize";

const db = new Sequelize("数据库名", "数据库账号", "数据库密码", {
  host: "localhost",
  port: 3306,
  dialect: "mysql",//需要使用的数据库
});

export default db;

 写入后我们可以测试一下链接是否正常

try {
  await db.authenticate();
  console.log('Connection has been established successfully.');
} catch (error) {
  console.error('Unable to connect to the database:', error);
}

3.创建数据模型实例

创建modules文件夹,我们创建一个users的用户表

// /modules/user.ts

import sequelize from "sequelize";
import db from "../database";

const users = db.define(
  "users",
  {
    id: {
      type: sequelize.INTEGER, //int类型
      autoIncrement: true, //自增
      allowNull: false, //不为空
      field: "id", //表映射
      primaryKey: true,
    },
    username: {
      type: sequelize.STRING(100), //字符串类型
      allowNull: false, //不为空
      field: "username", //表映射
    },
    password: {
      type: sequelize.STRING(100),
      allowNull: false,
      field: "password",
    },
    phone: {
      type: sequelize.STRING(11),
      allowNull: false,
      field: "phone",
    },
    points: {
      type: sequelize.DECIMAL(10, 2),
      allowNull: false,
      field: "points",
      defaultValue: 0,
    },
  },
  { timestamps: true }
);
export default users;

4.对users表进行增删改查操作

//进行增删改查操作

//增
users.create({}).then(()=>{})
//删
users.destroy({}).then(()=>{})
//改
users.update({}).then(()=>{})
//查
users.findAll({}).then(()=>{})

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐