介绍
Sequelize 是一个基于 Promise 的 Node.js ORM,适用于 Postgres、MySQL、MariaDB、SQLite 和 Microsoft SQL Server
要连接到数据库,必须创建一个 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
db.tutorials = require(“./tutorial.model.js”)(sequelize, Sequelize);
module.exports = db;
这里我们再来说一下,定义db对象的好处。
- 将Sequelize类, sequelize实例挂在db上,这样我们在其他文件中用到Sequelize类, sequelize实例,是只需要import db就可以,不需要引入两次
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
给大家分享一些关于HTML的面试题。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
q2eUI-1712877828483)]
[外链图片转存中…(img-Zrj5oatw-1712877828483)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-7Xb3VmLi-1712877828483)]