环境
druid 1.1.16 jdk 11 springboot 2.1.3 问题 升级版本后,发现打印出来的可执行SQL不在格式化了,不论怎么配置格式化设置都没反应。
控制台打印出来的未格式化SQL
原提问者GitHub用户yl-yue
如果打印出的SQL语句未能正确格式化,可能的原因有以下几点:
SQL格式化工具本身有问题。需要检查工具是否最新版本,是否存在已知问题。
SQL语句中存在特殊字符未被正确转义。这可能会干扰SQL的语法分析和格式化。
SQL分号被解析成语句分隔符。而实际上是SQL语句的一部分。
SQL使用了数据库特定的语法和函数,格式化工具不支持。
多语句批量SQL被解析成多条单语句。导致格式化出错。
表名、列名中包含特殊字符干扰格式化。需要使用``引用identifier。
对于特定的用例,可以进行以下检查:
简单SQL如select语句是否可以被正确格式化;
将分号使用转义字符;转义,检查格式化效果;
使用``引起列名和表名,重新格式化;
将多语句的SQL拆分为单语句,单独格式化检查。
基于以上检查,可以确定问题原因:
SQL问题:包含特殊字符或包含数据库特定语法
格式化工具问题:版本更新,数据不全面识别SQL等.
根据原因,可以进行相应改进:
转义特殊字符或使用``引起标识符
升级格式化工具版本
自行编写格式化规则
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。