From ec1e13d3b171d03528716ed239f615bb7de820b4 Mon Sep 17 00:00:00 2001 From: LeonemZhang Date: Fri, 4 Aug 2023 11:20:31 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20issue#2845=20SqlUtil.formatSql=20?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E7=9A=84sql=E6=8D=A2=E8=A1=8C?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-db/src/main/java/cn/hutool/db/sql/SqlFormatter.java | 6 ++++++ .../src/test/java/cn/hutool/db/sql/SqlFormatterTest.java | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/hutool-db/src/main/java/cn/hutool/db/sql/SqlFormatter.java b/hutool-db/src/main/java/cn/hutool/db/sql/SqlFormatter.java index 52b94663f..2d2ba5f88 100644 --- a/hutool-db/src/main/java/cn/hutool/db/sql/SqlFormatter.java +++ b/hutool-db/src/main/java/cn/hutool/db/sql/SqlFormatter.java @@ -110,6 +110,12 @@ public class SqlFormatter { t = this.tokens.nextToken(); this.token += t; } while (!"\"".equals(t)); + } else if ("`".equals(this.token)) { + String t; + do { + t = this.tokens.nextToken(); + this.token += t; + } while (!"`".equals(t)); } if ((this.afterByOrSetOrFromOrSelect) && (",".equals(this.token))) { 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 495023ba9..e6c355ad4 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 @@ -11,4 +11,11 @@ public class SqlFormatterTest { String sql = "(select 1 from dual) union all (select 1 from dual)"; SqlFormatter.format(sql); } + + @Test + public void testKeyword() { + String sql = "select * from `order`"; + String format = SqlFormatter.format(sql); + System.out.println(format); + } }