要连接到数据库,必须创建一个 Sequelize 实例. 这可以通过将连接参数分别传递到 Sequelize 构造函数或通过传递一个连接 URI 来完成,Sequelize 提供了三种连接数据库的方式!
配置mysql
在VScode中打开项目,然后再根目录下创建app文件夹,并在app文件夹下新建db.config.js文件,开始编写数据库的配置文件!我们单独将配置文件抽出来,可以有效的解耦,如果我们想配置多个数据库,那么只要编写一个通用的Sequlizes实例,就可以来连接多个数据库。
这里的DB: “testdb”,需要提前在mysql种创建一个testdb数据库
module.exports = {
HOST: “localhost”,
USER: “root”,
PASSWORD: “root”,
DB: “testdb”,
dialect: “mysql”,
};
连接mysql
上面我们已经写好了数据库的配置文件,下面我们就来编写一个通用的Sequlize实例!
在app文件夹下创建models文件,然后新建index.js。下面开始编写连接数据库的代码:
const dbConfig = require(“…/config/db.config.js”);
const Sequelize = require(“sequelize”);
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
host: dbConfig.HOST,
dialect: dbConfig.dialect,
});
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
module.exports = db;
这里请注意:我们最后又创建了一个db 对象,定义这个db对象的原因是,我们可以将Sequelize类和sequelize都挂载到db上,进行一个统一的管理,同时还可以将下面要创建的模型都挂载到db上!
创建课程模型
我们已经可以正常的连接数据库了,那连接数据库之后,我们是不是需要在testdb创建表!之前我们可能是需要编写sql脚本或者使用可视化工具创建表,添加字段。不过Sequelizes可以通过定义模型,同步模型到数据库中,从而自动的在数据库中创建表以及字段。也就是说Sequelizes的模型对应数据库中的表!
在Sequelizes中有两种定义数据模型的方式。
这里我们使用define方式,defined是通过Sequlize实例来调用的。
我们定义了一个函数,这个函数接受sequelize,实例 Sequelize类两个参数,然后在函数内部通过调用实例上define函数来创建一个Tutorial实例。
module.exports = (sequelize, Sequelize) => {
const Tutorial = sequelize.define(“tutorial”, {
title: {
type: Sequelize.STRING
},
description: {
type: Sequelize.STRING
},
published: {
type: Sequelize.BOOLEAN
}
});
return Tutorial;
};
虽然我们只定义了title,description published 三个字段,但是Sequelize 将会自动这些列将自动生成:id、createdAt、updatedAt。
然后,我们在app/models/index.js,中调用这个函数。
…
db.Sequelize = Sequelize;
db.sequelize = sequelize
最后
手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
lize = Sequelize;
db.sequelize = sequelize
最后
手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
[外链图片转存中…(img-WrZ8TNDQ-1714522110340)]