如何通过执行sql为低代码项目提速?

葡萄城技术团队 葡萄城技术团队     2022-10-23     328

关键词:

见多了SQL为代码开发提速,那么当低代码遇到SQL会擦出怎样的火花呢?本文将低代码和SQL结合进行介绍,让大家了解如何通过执行SQL为低代码项目提速。

背景

自从计算机诞生的一刻起,如何让计算机能够按照人类的需求进行工作,满足人类的需要就成为了一个问题,于是便诞生了计算机语言。最初的计算机语言是由0和1构成的机器语言,用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合,运行快,但是不容易使用,上手困难且难易理解。为了克服机器语言的缺点,人们将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。便诞生了第二代编程语言——汇编语言,汇编语言在一定程度中克服了机器语言难以学习使用的缺点,同时保证了执行速度快的优点,但是汇编语言的通用性,可读性还是很低。于是就诞生了以人类的日常语言为基础的一种编程语言,就是第三代编程语言——高级语言,像我们熟知的JAVA、JS、C#等都属于第三代编程语言。

高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好地描述格中算法,而且更易学习掌握,也是目前被程序员所使用的最为广泛的语言,但是,第三代语言对于业务人员来说还是难以理解。需要在编程上有专门的训练才能使用。于是便诞生了第四代语言,即面向问题的语言。第四代语言是非常高级的语言,用户只需要简单的培训即可参与编程,解决特定的问题。同时,第四代语言比第三代语言更接近日常语言,更容易编程,更广泛地被非专业程序员所使用。像我们今天的主角——SQL就属于第四代语言,使用者并不需要告诉计算机要怎么做,只需要告诉它执行命令内容即可。而低代码平台诞生可以追溯到第四代语言,第四代语言的主要特点就是简单易学、上手快。那使用第四代语言SQL再加上本来开发周期就短的低代码,能擦出怎么样的火花呢?

SQL与低代码的碰撞

我们先来看看没有使用SQL功能的低代码是如何开发一个项目与数据库进行交互的,这里使用企业级低代码开发平台-活字格为例向大家介绍。活字格中是有数据库这个概念的,而且活字格在更新迭代的过程中也有从“无执行SQL功能”到“有执行SQL功能”的一个变化,这一过程正好可以作为展示执行SQL为低代码提速的最好例子。
早些时候,大多数的低代码平台没有直接执行SQL功能,平台通过一些类似SQL功能去实现数据处理,比如活字格中的odata、数据表操作等功能,以实现执行数据表基本的DML操作。但是一旦明对更加复杂的业务场景,需要执行SQL才能实现时,就不免显得捉襟见肘。其性能对比执行SQL命令也有显著差距,可以看到使用执行SQL命令原本需要73秒才能做完的插入5000行数据操作,现在1.5秒的时间就可以完成了。

由此可见在低代码项目中执行SQL可以大大提升低代码项目的搭建速度,提升低代码开发效率,使得开发效率本来就较高的低代码项目效率更高,那说了这么多执行SQL的优点,如何在低代码项目中执行SQL呢。还是以活字格这款企业级低代码开发平台来举例。
使用SQL功能可以实现很多复杂的功能,比如:编写和调用存储过程、创建临时表、创建表索引、创建多个联合查询等。这里找两个简单的例子给大家介绍一下如何在低代码项目中使用SQL。现在有数据表的设计如下:课程表(课程号、课程名、学分)、学生表(学号、姓名、性别、专业)、分数表(学号、课程号、分数)。然后现在的需求是输入课程名和学生名来查询这个学生的分数,那在活字格中怎么做呢,我们一起来操作下。
首先设置前端页面,将活字格中的文本框单元格类型,按钮单元格类型,设置在活字格的设计器页面中。

新建一个服务端命令,增加参数学生名,和课程名参数,命令中新建执行SQL命令,数据库选择内建库(如果使用外联数据库也可以通过连接字符串直接在外联数据库中操作),添加学生名和课程名参数,参数值直接从服务端命令接收的参数值中获取即可,写SQL语句如下SELECT 分数表.分数 FROM 分数表 join 课程表 on 分数表.课程号 = 课程表.课程号 join 学生表 on 分数表.学号 = 学生表.学号 where 学生表.姓名=@学生名 and 课程表.课程名 =@课程名;将执行SQL结果,也就是返回值写到变量SQL数组中。由于执行SQL命令返回的结果是一个json对象数组,所以需要使用循环命令去取得数组中的每个Json对象,再去取值即可。这里示例中当确定了姓名和课程名之后,分数就确定了,也就是SQL查询的结果中只有一条记录,所以循环第一次就可以使用返回命令将分数的值返回出来。

在页面中的按钮再使用调用服务端命令,调用构建好的SQL命令。学生名和课程名选择设计好的文本框,将返回值返回到页面中的分数。这样就实现了这个需求了。

我们可以看一下执行效果,学生名输入张三,课程名输入语文,点击查询,分数便显示88。

这样,这个需求在低代码中就可以通过执行SQL实现了。我们来换一下需求,改为输入一个学生名查询出这个学生全部课程的成绩。还是以活字格为例,我们只需对上面的一些步骤做更改即可。
首先,设置页面的步骤中,将课程名和课程名后的文本框删除掉,分数区域改为设置一个表格,表格中有课程列和分数列。

服务端命令中删除课程名参数,服务端命令中的执行SQL命令也删除课程名参数,修改SQL语句如下SELECT 分数表、分数、课程表、课程名 FROM、分数表 join 课程表 on 分数表、课程号 = 课程表、课程号 join 学生表 on 分数表、学号 = 学生表、学号 where 学生表、姓名=@学生名,直接将查询的数组结果返回出去。

在前端调用时,将调用服务端命令的结果保存在SQL数组变量中,然后直接使用导入Json数据到表格命令将json对象数组导入到表格。

可以看到,在浏览器中文本框输入张三,点击查询,即可查询出张三全部的课程和分数。由此可见,通过执行SQL可以大大的提升低代码项目的开发效率,在需求变化是也能很高速的通过修改SQL语句和低代码工程实现更改后的需求。

当然,这里只举了两个简单的例子来为大家展示如何通过执行SQL为低代码项目提速,一些更复杂的需求如编写和调用存储过程,创建临时表等,都是可以通过执行SQL在低代码项目中实现的。大家如果感兴趣得话,可以找找相关的低代码产品来更详细的了解一下。

如果想了解更多地低代码技术知识访问:https://help.grapecity.com.cn/display/lowcode

如何通过执行sql为低代码项目提速?

...?本文将低代码和SQL结合进行介绍,让大家了解如何通过执行SQL为低代码项目提速。背景自从计算机诞生的一刻起,如何让计算机能够按照人类的需求进行工作,满足人类的需要就成为了一个问题,于是便诞... 查看详情

如何多条sql语句执行?

...C表的CC列D表的DD列,同时写4个插入语句执行是不能的,请问如何一条SQL语句解决?好象要用个什么关键字!最好能写出来!1、启动visualstudio2017,点击【文件】-》【新建】-》【项目】-》创建名为【ExecuteSql】的Web项目。2、在【新建ASP.N... 查看详情

jdbc多数据源动态切换项目

参考技术A如何实现多数据源动态切换!最近接到一个监控数据库资源情况的小项目。需要监控多个数据库的长时间耗时的SQL,并发出短信预警提醒。技术实现思路:1、通过配置设置一个主数据库,通过主数据库读取需要监控的... 查看详情

虚拟机如何通过命令启动myeclipse

参考技术A第一步:在MyEclipse上生成WAR包右击javaWeb项目-----Export------MyEclipseJEE----------WARfile第二步:SQLyog上生成mysql脚本文件用SQLyog连接本地数据库------右击该项目所用数据库-------备份/导出--------------备份数据库转存SQL-------结构和数... 查看详情

如何使用命令行工具将高清 PDF 转换为低分辨率?

】如何使用命令行工具将高清PDF转换为低分辨率?【英文标题】:HowtotransformanhighdefPDFtolowdefusingcommandlinetools?【发布时间】:2012-01-1916:37:58【问题描述】:我有一个unix服务器(实际上是macosx),它实际上将PS文件转换为PDF文件。... 查看详情

android编译时间优化(代码片段)

...具本身内置了很多性能分析工具:比如:profile 通过在终端执行gradlebuild–profile打开该功能。在mobile_android项目中执行该命令,执行完毕,在项目根目录下的build文件中查 查看详情

如何诊断sql数据?(代码片段)

当一个SQL出现性能问题时,可以使用SQL_TRACE或者10046事件来跟踪SQL,通过生成的trace来了解SQL的执行过程。我们在查看一条SQL的执行计划的时候,只能看到CBO最终告诉我们的执行计划结果,但是不知道CBO是根据什么来做的。如果... 查看详情

一文带你搞懂如何优化慢sql(代码片段)

最近通过SGM监控发现有两个SQL的执行时间占该任务总执行时间的90%,通过对该SQL进行分析和优化的过程中,又重新对SQL语句的执行顺序和SQL语句的执行计划进行了系统性的学习,整理的相关学习和总结如下;作者:京东科技 ... 查看详情

[项目实战]webpacktovite,为开发提速!(代码片段)

背景最近,就前端开发过程中的痛点及可优化项做了一次收集。其中,构建耗时、项目编译速度慢的字眼出现了好几次。随着业务的快速发展,我们很多项目的体积也快速膨胀。随之而来的,就是打包变慢等问题。提升研发效率... 查看详情

springboot使用——项目启动自动执行sql脚本

...aSourceInitializer类可以在项目启动后初始化数据,我们可以通过自动执行自定义sql脚本初始化数据。通过自定义DataSourceInitializerBean就可以实现按照业务要求执行特定的脚本。使用前提:项目数据源配置完成方 查看详情

如何在 IDE 之外运行/执行 java 代码(maven 项目)

】如何在IDE之外运行/执行java代码(maven项目)【英文标题】:howtorun/executeajavacode(mavenproject)outsidetheIDE【发布时间】:2021-09-0806:36:44【问题描述】:我是编程新手,有一个带有java代码的maven项目可以进行某些测试,它通过Jenkins管... 查看详情

1块gpu+几行代码,大模型训练提速40%!无缝支持huggingface,来自国产开源项目

...f0c;Meta开放的OPT-175B(OpenPretrainedTransformer)。都是通过复刻的方式,让原本 查看详情

如何在构建时使用数据库项目执行主数据 sql 脚本

】如何在构建时使用数据库项目执行主数据sql脚本【英文标题】:HowdoIexecutemasterdatasqlscriptusingdatabaseprojectonbuild【发布时间】:2014-06-2611:49:05【问题描述】:我想自动插入主数据。(自动执行sql脚本)Itriedthisusingdatabaseprojectusingpr... 查看详情

弹性配置为构建提速-coding&腾讯云cvm最佳实践(代码片段)

...,打造专属的计算集群。下面将会以腾讯云CVM为例,演示如何在CODING持续集成中接入自己的计算资源。开通 查看详情

为你的爬虫提提速?(代码片段)

项目介绍??本文将展示如何利用Pyhton中的异步模块来提高爬虫的效率。??我们需要爬取的目标为:融360网站上的理财产品信息(https://www.rong360.com/licai-bank/list/p1),页面如下:我们需要爬取86394条理财产品的信息,每页10条,也就... 查看详情

通过mybatis执行拼接的sql批量插入数据并返回数据库自增id(代码片段)

...问题有两种思路,一种是用PreparedStatement组装SQL语句通过JDBC连接执行;另一种是将表名,字段名称作为参数传递到mybatis执行。这里描述第二种方案中比较复杂的批量插入数据怎么实现 查看详情

pl_sql如何执行oracle存储过程

createorreplaceprocedureareabeginselect*fromods_area;endexecutearea;--执行参考技术A要成功执行这个存储过程,你需要注意几点:1.select*fromods_area;不能直接在pl/sql中作为语句执行。应该用select字段intoplsql变量from表名;的形式来获取表中的数据,... 查看详情

如何通过单击按钮 [C#] 执行 2 个 sql 查询

】如何通过单击按钮[C#]执行2个sql查询【英文标题】:Howdoiexecute2sqlqueriesbyclickingabutton[C#]【发布时间】:2017-10-2008:03:49【问题描述】:我想复制items表中的特定行并将其复制到一个新表中(名称-cart)。并在dataGridView中显示cart表... 查看详情