1. 引入类库
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.31</version>
</dependency>
2. 格式化的工具类API
package com.alibaba.druid.sql;
public class SQLUtils {
String format(String sq, String dbType);
String format(String sq, String dbType, FormatOption option);
}
- 其中dbType支持mysql/postgresql/odps/oracle/db2/sqlserver
- option缺省有
SQLUtils.DEFAULT_FORMAT_OPTION(大写)
、SQLUtils.DEFAULT_LCASE_FORMAT_OPTION(小写)
两种可以选择,也可按需要定制化。
3. 举例:MySQL格式化
@Test
public void out(){
String sql = "select * from user where department = '技术部' and name like '%jsk%' and age > 20;";
// 大写(默认)
String format = SQLUtils.format(sql, JdbcConstants.MYSQL);
System.out.println(format);
// 小写
format = SQLUtils.format(sql, JdbcConstants.MYSQL, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION);
System.out.println(format);
}
输出:
SELECT *
FROM user
WHERE department = '技术部'
AND name LIKE '%jsk%'
AND age > 20;
select *
from user
where department = '技术部'
and name like '%jsk%'
and age > 20;