From ab1da604d088d4fa45f1082881c5df70b15cf94d Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Fri, 7 Jul 2023 21:19:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20apt=20=E6=B7=BB=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=8E=92=E5=BA=8F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisflex/processor/MybatisFlexProcessor.java | 2 +- .../com/mybatisflex/processor/entity/ColumnInfo.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java index 0d1dcf22..4a8c3dd7 100644 --- a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java +++ b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/MybatisFlexProcessor.java @@ -149,7 +149,7 @@ public class MybatisFlexProcessor extends AbstractProcessor { assert table != null; // 类属性 fix: https://gitee.com/mybatis-flex/mybatis-flex/issues/I7I08X - Set columnInfos = new HashSet<>(); + Set columnInfos = new TreeSet<>(); // 默认查询的属性,非 isLarge 字段 List defaultColumns = new ArrayList<>(); diff --git a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java index dba7c3b3..93649a3c 100644 --- a/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java +++ b/mybatis-flex-processor/src/main/java/com/mybatisflex/processor/entity/ColumnInfo.java @@ -24,7 +24,7 @@ import java.util.Objects; * @author 王帅 * @since 2023-07-01 */ -public class ColumnInfo { +public class ColumnInfo implements Comparable { /** * 属性名。 @@ -82,4 +82,12 @@ public class ColumnInfo { return property != null ? property.hashCode() : 0; } + @Override + public int compareTo(ColumnInfo o) { + // 先根据属性长度排序,属性名短的在上 + int compare = Integer.compare(property.length(), o.property.length()); + // 属性名长度一样,再按字母排序 + return compare == 0 ? property.compareTo(o.property) : compare; + } + } \ No newline at end of file