本发明涉及数据库代码执行,具体为一种基于jdbc动态执行sql的方法及系统。
背景技术:
1、低代码平台使用动态 sql 执行 sql 查询语句,旨在提供更灵活、高效的查询方式。动态 sql 的使用场景通常是根据不同的条件生成不同的 sql 语句,在查询时动态地组装 sql 语句,以满足不同的查询需求。
2、动态 sql 技术是一种动态生成 sql 语句的技术,通过程序运行时动态生成 sql语句,从而减少了手写 sql 语句的工作量,同时也提高了应用程序的可维护性和易读性。在低代码平台中,动态 sql 可以帮助用户快速实现数据查询、分析等功能,同时还可以与其他功能模块进行集成,从而构建出更为完整的应用系统。动态 sql 的实现通常采用字符串拼接的方式,根据不同的查询条件拼接出不同的 sql 语句。在此基础上,还可以采用预编译、缓存、安全性控制等手段进一步提升动态 sql 的性能和安全性。
3、现有的低代码平台执行sql,仅支持原生的sql语句,对于一些复杂的业务支持不够,可能需要多种方案组合才能实现,增加了程序的使用复杂度;对数据库产品的支持程度有限,仅支持几种数据库产品,并不能满足大部分的企业需求;对一些常用的系统字段,并不能做到友好的自动填充;对于insert语句返回新增数据主键的支持仅限于返回自增主键,并不能满足某些常见的业务场景。
技术实现思路
1、为了解决上述问题,本发明提供一种基于jdbc动态执行sql的方法,包括以下步骤:s1.低代码平台上输入sql语句并执行;s2.将sql语句进行解析并执行;s3.将执行后的代码结果返回至低代码平台上。
2、进一步地,所述s2步骤包括以下子步骤:s21.调用jdbc的api接口将sql语句传至sql解析器进行解析;s22.将解析后的sql语句传至sql引擎进行执行。
3、进一步地,所述sql引擎连接至数据库,解析后的sql语句通过sql引擎的执行在数据库中进行操作。
4、进一步地,所述sql引擎连接至数据库具体包括:根据选择的数据源id去低代码的数据源表中查询数据库链接的定义并通过数据库连接池建立连接。
5、一种基于jdbc动态执行sql的系统,包括低代码平台、sql解析器以及sql引擎。
6、进一步地,所述低代码平台用于输入sql语句并显示执行后的结果;sql解析器用于解析和分析sql语句,生成可执行代码;sql引擎用于执行生成的可执行代码,并返回执行结果。
7、进一步地,所述低代码平台上存在安全检测模块;所述安全检测模块用于对输入的sql语句进行安全监测。
8、本发明提供了一种基于jdbc动态执行sql的方法及系统,具有以下有益效果:
9、本发明使开发人员能够更快速地进行数据库操作,通过可视化和简化的方式来生成、管理和执行sql命令;通过低代码平台,开发人员无需深入了解sql语言的复杂性,也不需要手动编写sql代码,从而大大提高了工作效率,减少了出错的可能性,并且可以将精力更多地集中在业务流程的设计和逻辑上。
1.一种基于jdbc动态执行sql的方法,其特征在于,包括以下步骤:s1.低代码平台上输入sql语句并执行;s2.将sql语句进行解析并执行;s3.将执行后的代码结果返回至低代码平台上。
2.根据权利要求1所述的基于jdbc动态执行sql的方法,其特征在于,所述s2步骤包括以下子步骤:s21.调用jdbc的api接口将sql语句传至sql解析器进行解析;s22.将解析后的sql语句传至sql引擎进行执行。
3.根据权利要求2所述的基于jdbc动态执行sql的方法,其特征在于,所述sql引擎连接至数据库,解析后的sql语句通过sql引擎的执行在数据库中进行操作。
4.根据权利要求3所述的基于jdbc动态执行sql的方法,其特征在于,所述sql引擎连接至数据库具体包括:根据选择的数据源id去低代码的数据源表中查询数据库链接的定义并通过数据库连接池建立连接。
5.一种基于jdbc动态执行sql的系统,基于权利要求1-4任一项所述的基于jdbc动态执行sql的方法,其特征在于,包括低代码平台、sql解析器以及sql引擎。
6.根据权利要求5所述的基于jdbc动态执行sql的系统,其特征在于,所述低代码平台用于输入sql语句并显示执行后的结果;sql解析器用于解析和分析sql语句,生成可执行代码;sql引擎用于执行生成的可执行代码,并返回执行结果。
7.根据权利要求6所述的基于jdbc动态执行sql的系统,其特征在于,所述低代码平台上存在安全检测模块;所述安全检测模块用于对输入的sql语句进行安全监测。