业务需要梳理线上环境的SQL创建语句,由于我司DBA给提供的查询接口返回结果就是一个纯字符串,需要格式化整理到文档中,考虑很多在线SQL格式化可能不太安全,担心泄露业务SQL语句的风险,于是找了一下有没有自己实现的简便方式,找到了Druid有一个简单的格式化方法,当做一个小知识点记录下来:
Maven依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.17</version>
</dependency>
示例代码:
import java.util.Scanner;
import com.alibaba.druid.sql.SQLUtils;
public class SQLFormatDemo {
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
while (true) {
String sqlStr = scanner.nextLine();
//就是这个方法,可以实现SQL语句格式化
String formatSql = SQLUtils.format(sqlStr, "mysql");
System.out.println(formatSql);
}
}
}