当前位置: 首页> 教育> 就业 > Sequelize 操作 MySQL 数据库

Sequelize 操作 MySQL 数据库

时间:2025/7/18 9:19:05来源:https://blog.csdn.net/XiugongHao/article/details/140227437 浏览次数:0次

安装

npm install --save sequelize

安装驱动程序:

npm install --save mysql2

连接到数据库

要连接到数据库,必须创建一个 Sequelize 实例. 这可以通过将连接参数分别传递到 Sequelize 构造函数或通过传递一个连接 URI 来完成:

const {Sequelize} = require("sequelize");
// 创建数据库连接
const sequelize = new Sequelize('jingmao', 'root', 'root', {host: 'localhost',dialect: 'mysql',logging: false, // 生成的sql语句不在控制台打印
})
// 测试连接
async function MyFn() {try {await sequelize.authenticate();console.log('Connection has been established successfully.');} catch (error) {console.error('Unable to connect to the database:', error);}
}MyFn();

Sequelize 构造函数接受很多参数. 它们记录在 API 参考中.

在 app.js 中引入文件,执行测试。

require('./dao/dbConnect')

Express 中使用 Sequelize

连接和初始化数据库

dbConnect.js

const {Sequelize} = require("sequelize");
// 创建数据库连接
const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASSWORD, {host: process.env.DB_HOST,dialect: 'mysql',logging: false, // 生成的sql语句不在控制台打印
})
// 以对象的形式暴露
module.exports = sequelize;

这里使用了 dotenv 将一些环境变量写到 .env 中,将 .env 添加到 precess.env ,便于管理。
file_1720237969820_562.png

db.js

// 初始化数据库
const sequelize = require('./dbConnect'); // 数据库连接实例
const adminModel = require('./model/adminModel');
const md5 = require("md5"); // 管理员模型
(async function() {// 同步模型和数据表await sequelize.sync({alter: true})// 如果没有数据,则初始化数据const adminCount = await adminModel.count()if (!adminCount) {await adminModel.create({loginId: 'admin',name: '超级管理员',loginPwd: md5('123456'),})console.log('初始化管理员数据成功')}console.log('数据库初始化完成')
})()

adminModel.js

const {DataTypes} = require("sequelize")
const sequelize = require("../dbConnect")
// 定义数据表
module.exports = sequelize.define("admin", {// id 自动生成 无需手动定义loginId: {type: DataTypes.STRING,allowNull: false,},loginPwd: {type: DataTypes.STRING,allowNull: false,},name: {type: DataTypes.STRING,allowNull: false}
}, {freezeTableName: true, // 禁止默认的自动复数化createdAt: false, // 关闭默认字段updatedAt: false // 关闭默认字段
})

app.js

// 默认读取项目根目录下的 .env 环境变量文件
require('dotenv').config()
// 引入数据库连接
require('./dao/db')

操作数据库

const adminModel = require('./model/adminModel')
module.exports.loginDao = async function(loginInfo) {return await adminModel.findOne({where: {loginId: loginInfo.loginId,loginPwd: loginInfo.loginPwd}})
}

image.png

关键字:Sequelize 操作 MySQL 数据库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: