首页 > 数据库 >SQL变量数据加工在Java规则引擎中的应用案例分析

SQL变量数据加工在Java规则引擎中的应用案例分析

时间:2024-01-30 11:31:33浏览次数:35  
标签:脚本 Java 变量 数据库 引擎 参数 SQL 执行

SQL变量加工

SQL加工背景,在决策配置过程中,一些复杂的逻辑或模型可通过自定义SQL脚本编写创建数据变量,通过SQL脚本可以便捷的从数据库中取数,并且自定义SQL支持传参,可满足更复杂多变的数据加工处理。

注意,SQL变量加工和算子编排加工的方式不同,SQL变量加工依赖于对应数据源的服务器的性能,在使用前,需要确认下数据库是否有可用的多余的性能满足新增SQL执行的性能消耗(避免影响原有系统的性能)。

功能说明

SQL数据加工配置效果如下图所示

SQL变量数据加工在Java规则引擎中的应用案例分析_数据

创建变量入口

在变量管理中,创建公共的SQL变量,如下图所示:

SQL变量数据加工在Java规则引擎中的应用案例分析_数据_02

在决策中,创建私有的SQL变量,如下图所示:

SQL变量数据加工在Java规则引擎中的应用案例分析_数据_03

界面介绍

SQL数据加工配置器界面介绍,如下所示,

SQL变量数据加工在Java规则引擎中的应用案例分析_规则引擎_04

①:数据源选择,点击下拉框,展示系统支持的多个数据源(数据库)

②:搜索框,对数据库、数据库对应字段进行收缩,用于便捷的找到数据库与相关字段

③:数据表与字段详情展示,双击可以拾取到右侧的编辑窗中

④:SQL脚本编辑框

⑤:SQL脚本执行时,设置预览返回的限制条数,可以下拉选择预览返回的数据上限

⑥:执行按钮,模拟执行SQL编辑脚本

⑦:参数设置窗,可以设置需要查询传递进入SQL脚本中的参数

⑧:展示执行预览的数据

⑨:展示多次执行的历史记录

数据库的选择

数据库选择是,可以点击下拉框,进行系统已经配置的数据库类型进行切换,目前通过SQL脚本的支持mysql、达梦、PostgreSQL、Oracle数据库

SQL变量数据加工在Java规则引擎中的应用案例分析_数据_05

在做了对应数据库切换后,系统会自动加载对应的库表数据,包括数据库、表、字段的 树形结构展示,如下图所示

SQL变量数据加工在Java规则引擎中的应用案例分析_风控决策_06

SQL脚本编辑

编辑器支持关键词提示,在编写的时候更加便捷的编写脚本

SQL变量数据加工在Java规则引擎中的应用案例分析_规则引擎_07

提供了对SQL脚本执行的返回数据总量的条数限制,可通过下拉框进行选择返回限制的条数,点击模拟执行,可以预览展示出来的效果

SQL变量数据加工在Java规则引擎中的应用案例分析_数据库_08

执行历史记录

系统提供了sql脚本执行历史记录的展示,包括执行语句,执行状态,输入参数,起止时间等

SQL变量数据加工在Java规则引擎中的应用案例分析_数据_09

参数配置

在SQL变量使用的过程中,往往存在需要通过业务端传入的参数去过滤查询的数据,那么就需要通过参数的方式进行SQL脚本的编写,如下图所示:

SQL变量数据加工在Java规则引擎中的应用案例分析_数据库_10

参数配置方式,如下所示

SQL变量数据加工在Java规则引擎中的应用案例分析_数据_11

①:点击添加参数,系统创建参数相关配置选项

②:设置入参的名称,用于在决策中使用时,需要传入的参数名称说明

③:设置入参的key,这里的key需要在系统中唯一,用于对变量的唯一标识

④:设置字段类型,类型包括字符串、数值、布尔类型

⑤:设置参数的模拟值,便于模拟执行验证数据是否正确

⑥:删除入参的按钮操作

在线demo:http://rules.bctools.cn

gitee地址:https://gitee.com/software-minister/jvs-rules

标签:脚本,Java,变量,数据库,引擎,参数,SQL,执行
From: https://blog.51cto.com/u_15454015/9481509

相关文章

  • 深入浅出Java多线程(三):线程与线程组
    「引言」大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第三篇内容:线程与线程组。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在现代软件开发中,多线程编程已成为提升程序性能和并发能力的关键技术之一。Java作为主流的面向对象编程语言,其对多线程的支......
  • [转]JavaScript 判断是否为数字的几种方式
    原文地址:JavaScript判断是否为数字的几种方式_js判断是否是数字-CSDN博客前言1.typeof、instanceof、Number.isInteger2.parseInt、parseFloat3.isNaN、isFinite4.Number.isNaN、Number.isFinite5.正则表达式6.终极方案(推荐)7.结语前言js判断是否为数字的......
  • [转]JavaScript 的if()语句和==的判断
    原文地址:JavaScript的if语句和==的判断-系佛-博客园一.if(xx)的判断JavaScript遇到预期为布尔值的地方(比如if语句的条件部分),就会将非布尔值的参数自动转换为布尔值。系统内部会自动调用Boolean函数。1.当if括号里面的表达式为Boolean时,直接判断if(true){conso......
  • javacore找pk锁阻塞者
    关键字 Flatlockedby3LKMONOBJECTorg/apache/logging/log4j/core/appender/OutputStreamManager@0x000000060FB6B3C0:Flatlockedby"WebContainer:3"(J9VMThread:0x0000000007C55A00),entrycount13LKWAITERQWaitingtoenter:3LKWA......
  • MySQL查看bin_log日志
    有这样一段业务逻辑,首先保存业务数据,然后发送报文,最后确认报文回来以后更新业务数据。伪代码大概是这样的:/***保存数据,并调用发送报文方法*/publicvoidsave(){//0.保存数据//调用send()方法send();}/***发送报文*/publicvoidsend(){/......
  • java非对称加密,rsa
     1.甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。2.甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。3.乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加......
  • PLSQL Developer汉语设置
    PLSQLQDeveloper是由Oracle公司推出的数据库开发工具,具有很好的移植性和适应性.但是当我们安装完成Oracle11gPLSQLDeveloper工具后发现状态栏的显示是英文,对于大多数人来说都是看不懂,如果长期使用的话或许还能接受,对于小新真的十分困难,下面就是如何将PLSQLDeveloper工具设置为......
  • MySQL连接控制插件导致的连接数过多问题处理
    生产环境收到一波连接数告警,而该业务实际压力并不大。查看后发现有大量的waitinginconnection_controlplugin状态的连接等待。该等待连接数有一千多个。connection_control组件是由于前段时间的安全合规审查要求安装的。怕影响生产真实连接,将单个用户的登陆失败重试connectio......
  • 查询SQL SERVER 软件版本信息、授权许可等
    SQLSERVER软件授权许可查询概述在使用SQLServer数据库管理系统时,了解软件授权许可是非常重要的。SQLServer提供了多种许可方式,以满足不同用户的需求。本文将介绍SQLServer软件授权许可的查询方法,并提供相应的代码示例。许可方式SQLServer提供了多种许可方式,包括:企业......
  • JAVA Spring Boot快速开始
    实践环境SpringBoot3.2.1Maven3.8.8JDK1.8.0_331创建项目通过http://start.spring.io/网站创建包含SpringBoot的项目,具体如下:点击GENERATE按钮后,会自动生成并下载SpringBootQuickStartDemo.zip导入项目解压述下载的项目压缩包,解压后的项目文件结构如下:E:codePro......