首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nest.js 从零到壹系列(二):数据库的连接

前言 上一篇介绍了如何创建项目、路由的访问以及如何创建模块,这篇来讲讲数据库的连接与使用。 既然是后端项目,当然要能连上数据库,否则还不如直接写静态页面。...查询语句 try { const res = await sequelize.query(sql, { type: Sequelize.QueryTypes.SELECT...在这里,强烈建议使用写原生 SQL 语句去操作数据库。 虽然 Sequelize 提供了很多便捷的方法,具体可去 Sequelize v5 官方文档[2] 浏览学习。...最重要的是,如果你是从前端转后端,或者根本就是0基础到后端,还是建议先把 SQL 的基础打牢,不然连 JOIN、LEFT JOIN 和 RIGHT JOIN 的区别都分不清(我们公司就有个三年经验的后端...下一篇,将介绍如何使用 JWT(Json Web Token)进行单点登录。

4K33
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何把Excel数据转化成SQL语句-转

    如何把Excel数据转化成SQL语句-转 问题背景 在我们实际的程序开发、维护的过程中,很多时候都要和Excel打交道。因为用户的数据很多时候是Excel存储的。...我们经常需要整理过的Excel表变成Sql语句。最后,把Sql语句在客户的服务器上执行。客户要求更新的时候很多多,甚至占了比开发还要长的时间。但我一直没有找到比较理想的解决方法。...问题二:转换成你想要的Sql语句很难。(可能我没发现软件) 2, 通过Excel中的公式来生成Sql语句。...logisticbasestation_name, basestation_type,project ) values ( 'GZYW01587' ,'体育西站(地铁3号)', '宏蜂窝', '12' ) 如何利用...Excel的公式生成SQL语句 首先,我们可以手工创建一条如上图一样的Sql语句。

    2.4K20

    使用TS+Sequelize实现更简洁的CRUD

    CRUD原始版 手动拼接SQL 先来举例说明一下直接拼接SQL语句这样比较“底层”的操作方式: CREATE TABLE animal ( id INT AUTO_INCREMENT, name...定义模型相关的各种配置:docs 抛开模型定义的部分,使用Sequelize无疑减轻了很多使用上的成本,因为模型的定义一般不太会去改变,一次定义多次使用,而使用手动拼接SQL的方式可能就需要将一段...SQL改来改去的。...这还不够 But,虽说切换为ORM工具已经帮助我们减少了很大一部分的记忆成本,但是依然还不够,我们仍然需要知道模型中都有哪些字段,才能在业务逻辑中进行使用,如果新人接手项目,仍然需要去翻看模型的定义才能知道有什么字段...create之类的操作都会有提示: Animal.create({ abc: 1, // ^ abc不是Animal已知的属性 }) 通过继承来复用一些行为 上述的例子也只是说明了如何复用模型

    2.7K20

    如何优雅的将Mybatis日志中的Preparing与Parameters转换为可执行SQL

    我们大家在工作中应该都是用过Mybatis吧,有时候我们在本地调试的时候,会打开Mybatis的SQL日志打印,那么打印出来的SQL是下图这样的 你可以看到预编译的SQL条件用占位符(?)...,并不是真实的SQL select * from User where id = 1 。 如果我们想得到真实的SQL,像上图那样参数少的话还可以自己把参数值手动拼上去,但是如果参数多了呢?...不用MAME麻烦,今天就告诉你如何将mybatis日志的Preparing与Parameters转化为可执行sql。...(如下已经安装完成) 然后我们就可以选中SQL日志右键选择:Restore Sql from Selection 然后就可以在Mybatis Log窗口看到真实的SQL了...script type="text/javascript"> function f(obj){ var textVa = obj.value; // 获取带问号的SQL

    1.8K30

    浅谈MVC--Node中如何使用ORM?

    根据功能组装sql语句,然后创建Statement对象。 使用Connection对象执行sql语句,得结果集ResultSet。 循环读取结果集的数据,然后根据数据进行业务逻辑处理。...如果还有进一步的需求,再组装新的sql语句进行执行。 执行结束关闭数据库连接。 可以看到上面业务逻辑和数据存取逻辑是紧密耦合在一起的,如果需要修改需求,那工作量则是成倍的增长。...首先要使用SequeLize,我们需要安装sequelize和mysql2包。...上面就完成的实现了一个插入数据的API,我们不需要手动书写sql语句。而且将业务逻辑和数据存取逻辑完全独立。接下来我们可以再看几个查询语句: ?...到这里我们对于Sequelize的基础操作就差不多了解了,接下来来看看Sequelize封装sql如何链式调用多个数据库操作,因为Sequelize是基于Promise的ORM框架,所以我们很简单的使用链式调用数据库读取操作实现多个数据库操作

    2.3K20

    Node中使用ORM框架

    根据功能组装sql语句,然后创建Statement对象。 使用Connection对象执行sql语句,得结果集ResultSet。 循环读取结果集的数据,然后根据数据进行业务逻辑处理。...如果还有进一步的需求,再组装新的sql语句进行执行。 执行结束关闭数据库连接。 可以看到上面业务逻辑和数据存取逻辑是紧密耦合在一起的,如果需要修改需求,那工作量则是成倍的增长。...首先要使用SequeLize,我们需要安装sequelize和mysql2包。...}); } router.post('/hlShopRecharge', xlsMallRouters.hlShopRecharge); 上面就完成的实现了一个插入数据的API,我们不需要手动书写sql...到这里我们对于Sequelize的基础操作就差不多了解了,接下来来看看Sequelize封装sql如何链式调用多个数据库操作,因为Sequelize是基于Promise的ORM框架,所以我们很简单的使用链式调用数据库读取操作实现多个数据库操作

    3.5K10

    如何优雅地操作数据库?ORM了解一下

    Model 作为数据承载实体,在用户界面和业务逻辑层之间,数据以面向对象的形式传递;而当我们需要通过 Controller 分发请求把数据持久化的时候,我们就遇到了内存中的对象如何持久化成关系数据库中存储的一条实际数据记录的问题...ORM的使用 以Sequelize为例 仅示例,更多操作可参考 Sequelize 中文文档 https://www.sequelize.com.cn/ RobinBuschmann/sequelize-typescript...https://github.com/RobinBuschmann/sequelize-typescript Sequelize 是一个基于 Promise 的 Node.js ORM, 目前支持 Postgres...Sequelize 遵从 语义版本控制。支持 Node v10 及更高版本以便使用 ES6 功能。...虽然可以实现,但是需要花费很大的代价(性能不如原生SQL)。

    1.8K20

    二进制如何转十进制?_二进制转换为十进制的算法

    小数转换为二进制的方法:对小数点以后的数乘以2,有一个结果吧,取结果的整数部分(不是1就是0喽),然后再用小数部分再乘以2,再取结果的整数部分……以此类推,直到小数部分为0或者位数已经够了就OK了。...如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进制,小数转换成二进制,然后加在一起就OK了,如图6所示。...4.2、二进制转换为十进制 二进制转十进制的转换原理:从二进制的右边第一个数开始,每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数。...4.3、十进制转换为十六进制 4.4、十六进制转换为十进制(这里不再展示过程,不常用) 十六进制数转十进制数方法:十六进制数按权展开,从十六进制数的右边第一个数开始,每一个乘以16的n次方,n从0开始...4.5、二进制转十六进制(这里不再展示过程,不常用) 方法为:与二进制转八进制方法近似,八进制由三个二进制数表示,十六进制是四个二进制数表示。

    3.6K20

    Node 架构从三层到 N 层,实现代码重用和解耦

    为什么要选用三层或N层架构 如何使用Express和Sequelize搭建Node三层架构 每层之间是通过什么方式进行数据流动的 为了让业务代码能够分层解耦,在代码实现过程中我是如何思考的,比如数据库事务...也就是代码冗余的问题,其实代码冗余与数据库数据冗余的道理是一样的,只要遵从一定的标准,比如范式,你就可以写出优雅的代码,但是往往这个过程是伴随着一个开发者的素养和思想的,这里我会讲讲在系统框架搭建的过程中我是如何思考的...二、如何使用Express和Sequelize搭建Node三层架构 现在Node Web框架比较火的两个框架是Koa和Express,二者的区别大家可以自行查阅,koa是express原班人马开发的使用...+ "'"; console.log(sql); db.select(sql, function(err){ db.close(); if(err)...四、为了让业务代码能够分层解耦,在代码实现过程中我是如何思考的 为了让业务代码能够分层解耦,每层的职责比较单一,要高类聚,层与层之间不要侵入,要低耦合,想象总是美好的,但是现实是骨感的。

    7.7K31

    第二十九课 如何实现MetaMask签名授权后DAPP一键登录功能?

    , web3.eth.coinbase, console.log); 此命令表示:使用coinbase帐户(即当前帐户)将我的消息(从utf8转换为十六进制)进行签名,并以打印作为回调函数打印出签名。...4, 登录流程如何工作 这是如何做到的呢?这部分内容讲说服你,证明这种方式是安全的。所以为什么部分的介绍就比较短了。 如前面所述,我们将忘记区块链。...我们需要使用UTF-8编码的字符串转换为十六进制格式web3.fromUtf8。...在桌面浏览器上,我们将此任务委托给MetaMask。 所以我认为答案是否定的,这个登录流程今天不适用于移动设备。但它正朝着这个方向努力,今天简单的解决方案仍然是移动用户的并行传统登录方法。...手机端的一键登录问题转换为别的实现方案的问题。 9, 环境搭建 1).

    11.3K52

    后端实战教程:如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)

    如果你还没有安装 MySQL 数据库,可根据《如何安装 MySQL》教程安装 MySQL 数据库,或在腾讯云之类的云服务商购买现成的 MySQL 数据库。...如何远程连接 MySQL 数据库,阿里云腾讯云允许远程连接教程如何在 ubuntu 上安装 MySQLMySQL 官方下载地址准备好 node.js 和 MySQL 数据库后,咱们就开始搭建后端部分。...使用 Sequelize 连接数据库Sequelize 是一个基于 Promise 的 Node.js ORM,目前支持 Postgres、MySQL、SQLite 和 Microsoft SQL Server.../config/db.config.js");const Sequelize = require("sequelize");const sequelize = new Sequelize(dbConfig.DB...= Sequelize;db.sequelize = sequelize;db.todos = require(".

    11.9K21

    sequelize常用api

    sequelize-cli的基本流程 sequelize中规定 模型的名称是单数、表的名称是复数 总置文件就是用来给数据库mock添加数据的文件 生成文章表模型 sequelize model:generate...User为自己定义的数据库模型,其实也就代表用这个模型间接的操作数据库,findOne是查询方法,这里提供了多种方法,后面一一解释,在后面需要给这个方法传递的参数有很多,就是这种搜索的显示条件,where同sql...', sequelize.col('age')), // 按 max(age) DESC 排序 [sequelize.fn('max', sequelize.col('age')),...('convert(user_name using gbk)') }) 有时候我们查询出来的数据有很多,但是前端却不需要这么多数据,包括有的数据也不想暴露出去,那么我们如何对数据进行过滤呢?...有时候我们需要多表联合查询,假设这样的场景,对于我的博客,会出现,一个分类下面有多篇文章,我需要查出这个分类和当前分类下的所有文章应该如何做呢?

    7.9K30

    RestQL:现代化的 API 开发方式

    本文将介绍如何利用 RestQL 来非常有效地减少「数据操作」相关的工作量。 现状与挑战 我们先来做个假设。 假设系统中有 60 张表,每张表对应的接口都要有四种 CRUD 的 API。...解决思路 尽管我们把数据库抽象成了「关系型」数据库,把操作数据的命令抽象成了 SQL ,同时我们也有了 MySQL 客户端,甚至是 sequelize 这种非常方便的库,也有「RESTful」API 命名规则...调用方式 如何请求 为了解释「如何请求」,我们先从一些公认的规则出发,举一个例子,然后再从例子中抽象出一些规则。...resource/:id/association/:id, association 为 1:n 关系 /resource/:id/association/:id, association 为 n:m 关系 如何使用...参考链接 GitHub, https://github.com/koajs/koa GitHub, https://github.com/sequelize/sequelize GitHub, https

    1.6K50
    领券