当前位置:首页 > Web开发 > 正文

node.js后端之sequelize

2024-03-31 Web开发

标签:

node.js后端之sequelize

简单来说,node.js是运行在后真个javascript,后端必定需要访谒数据库,现在天我们要介绍的东西就是可以让你不用再痛苦的写sql语句,提高效率的ORM框架——sequelize。

筹备事情 安置

首先新建一个文件夹sequelize_demo,打开终端(默认已经有node环境),输入npm init,这会初始化此文件夹并生成一个.json文件,,一路回车默认即可。

接下来安置express框架:

$ npm install express --save

然后安置sequelize框架和mysql驱动:

$ npm install --save sequelize $ npm install --save mysql2

ok,安置完成

创建文件

解析来创建我们需要用到的文件,文件目录如下~

技术图片

连接数据库

接下来开始数据库的连接,打开db.js

//db.js var Sequelize = require('sequelize'); //四个参数分袂是 数据库名称,用户名,暗码,配置 module.exports = new Sequelize('farmer', 'root', '123456', { //换本钱身的数据库 host: 'localhost', // 数据库地点 dialect: 'mysql', // 指定连接的数据库类型 pool: { max: 5, // 连接池中最大连接数量 min: 0, // 连接池中最小连接数量 idle: 10000 // 如果一个线程 10 秒钟内没有被使用过的话,那么就释放线程 } });

模型文件user.js,这个模型用来和数据库里的表对应,一个模型就代表一个表格,我们编写好模型,可以让sequelize为我们自动创建数据库表,非常便利。使用define函数来创建模型

// user.js var Sequelize = require('sequelize'); var sequelize = require('./db'); // 创建 model const User = sequelize.define('user', { userName: { type: Sequelize.STRING, // 指定值的类型 field: 'user_name' // 指定存储在表中的键名称 }, // 没有指定 field,表中键名称则与东西键名不异,为 email email: { type: Sequelize.STRING } }, { // 如果为 true 则表的名称和 model 不异,即 user // 为 false MySQL创建的表名称会是复数 users // 如果指定的表名称本就是复数形式则不乱 freezeTableName: false }); //如果不存在就创建此表 var user = User.sync({ force: false }); // 添加新用户 exports.addUser = function(userName, email) { // 向 user 表中插入数据 return User.create({ userName: userName, email: email }); };

然后进入终端,启动处事 node app.js,打开数据库会发明已经有表格创建好了。最后的createdAt和updatedAt是sequelize自动添加的,固然不想要可以这样:

// 不要添加时间戳属性 (updatedAt, createdAt) timestamps: false,

技术图片

接下来编写测试函数testUser.js,这里我们就可以愉快的使用sequelize封装好的函数来操纵啦,和sql语句说拜拜!

常用的函数如 find,findAll,create,详细可看官方文档https://sequelize.org/v5/manual/models-usage.html

//testUser.js var user = require('./user'); //引入模型 // 添加用户 user.addUser('jack', '[email protected]').then(function() { // 盘问新添加的用户 return user.findOne({ where: { user_name: userName }}) }).then(function(user) { console.log('****************************'); console.log('user name: ', user.userName); console.log('user email: ', user.email); });

进入终端,运行testUser

node testUser.js

技术图片

打开数据库就会发明数据已经插入到数据库中了~

node.js后端之sequelize

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32797.html