本技术提供一种SQL处理方法、SQL处理系统,所述方法包括:基于Druid组件解析SQL输入参数的数据类型;根据传参修改所述输入参数为预编译格式并保留有顺序的传参列表,将变更后的Druid组件的语法表达式转换为SQL;通过预编译模式执行SQL。本发明可将配置的SQL解析出输入参数,方便用户动态传参,可以实现参数、过滤条件等不同条件下的SQL执行,且使用Druid组件来实现解析SQL,在SQL语法树的遍历上更加灵活,能够针对所需的SQL表达式做特殊处理,实现方式更加便捷。
背景技术
目前主流的SQL解析工具主要为Calcite(一种动态数据管理框架)和正则表达式。
Calcite方式解析出的语法树需要自定义方法去遍历整棵树,不够方便,且无法完成在一次遍历语法树中修改SQL中的部分属性。正则表达式的方式则无法精准的根据SQL的上下文语意解析出所需的参数,且实现方式和后续维护较为困难。
实现思路