diff --git a/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java b/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java index a2a52634d..2dd2b5d25 100644 --- a/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java +++ b/hutool-db/src/main/java/cn/hutool/db/sql/SqlBuilder.java @@ -609,6 +609,15 @@ public class SqlBuilder implements Builder { return this.build(); } + /** + * 格式化SQL语句 + * @return SqlBuilder + */ + public SqlBuilder format() { + this.sql.replace(0, this.sql.length(), SqlFormatter.format(this.sql.toString())); + return this; + } + // --------------------------------------------------------------- private method start /** diff --git a/hutool-db/src/test/java/cn/hutool/db/sql/SqlFormatterTest.java b/hutool-db/src/test/java/cn/hutool/db/sql/SqlFormatterTest.java index e6c355ad4..2fbd7c24b 100755 --- a/hutool-db/src/test/java/cn/hutool/db/sql/SqlFormatterTest.java +++ b/hutool-db/src/test/java/cn/hutool/db/sql/SqlFormatterTest.java @@ -18,4 +18,11 @@ public class SqlFormatterTest { String format = SqlFormatter.format(sql); System.out.println(format); } + + @Test + public void testSqlBuilderFormat() { + String sql = "SELECT `link_table_a`.`value_a` AS `link_table_a.value_a`,`link_table_a`.`id` AS `link_table_a.id`,`link_table_b`.`value_b` AS `link_table_b.value_b`,`link_table_c`.`id` AS `link_table_c.id`,`link_table_b`.`id` AS `link_table_b.id`,`link_table_c`.`value_c` AS `link_table_c.value_c` FROM `link_table_a` INNER JOIN `link_table_b` ON `link_table_a`.`table_b_id` = `link_table_b`.`id` INNER JOIN `link_table_c` ON `link_table_b`.`table_c_id` = `link_table_c`.`id`"; + String format = SqlBuilder.of(sql).format().build(); + System.out.println(format); + } }