From 437a46633ca8986e84f40829eddb64e064732ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 10:51:33 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8B=BC=E5=86=99?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8Cprocesser->processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisflex/core/mask/MaskManager.java | 28 +++++++++---------- ...{MaskProcesser.java => MaskProcessor.java} | 2 +- .../java/com/mybatisflex/core/mask/Masks.java | 18 ++++++------ 3 files changed, 24 insertions(+), 24 deletions(-) rename mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/{MaskProcesser.java => MaskProcessor.java} (95%) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java index c4736eb6..4b51cb06 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java @@ -28,19 +28,19 @@ public class MaskManager { /** * 脱敏处理器,type : processer */ - private static Map processerMap = new HashMap<>(); + private static Map processerMap = new HashMap<>(); static { - registerMaskProcesser(Masks.MOBILE, Masks.MOBILE_PROCESSER); - registerMaskProcesser(Masks.FIXED_PHONE, Masks.FIXED_PHONE_PROCESSER); - registerMaskProcesser(Masks.ID_CARD_NUMBER, Masks.ID_CARD_NUMBER_PROCESSER); - registerMaskProcesser(Masks.CHINESE_NAME, Masks.CHINESE_NAME_PROCESSER); - registerMaskProcesser(Masks.ADDRESS, Masks.ADDRESS_PROCESSER); - registerMaskProcesser(Masks.EMAIL, Masks.EMAIL_PROCESSER); - registerMaskProcesser(Masks.PASSWORD, Masks.PASSWORD_PROCESSER); - registerMaskProcesser(Masks.CAR_LICENSE, Masks.CAR_LICENSE_PROCESSER); - registerMaskProcesser(Masks.BANK_CARD_NUMBER, Masks.BANK_CARD_PROCESSER); + registerMaskProcesser(Masks.MOBILE, Masks.MOBILE_PROCESSOR); + registerMaskProcesser(Masks.FIXED_PHONE, Masks.FIXED_PHONE_PROCESSOR); + registerMaskProcesser(Masks.ID_CARD_NUMBER, Masks.ID_CARD_NUMBER_PROCESSOR); + registerMaskProcesser(Masks.CHINESE_NAME, Masks.CHINESE_NAME_PROCESSOR); + registerMaskProcesser(Masks.ADDRESS, Masks.ADDRESS_PROCESSOR); + registerMaskProcesser(Masks.EMAIL, Masks.EMAIL_PROCESSOR); + registerMaskProcesser(Masks.PASSWORD, Masks.PASSWORD_PROCESSOR); + registerMaskProcesser(Masks.CAR_LICENSE, Masks.CAR_LICENSE_PROCESSOR); + registerMaskProcesser(Masks.BANK_CARD_NUMBER, Masks.BANK_CARD_PROCESSOR); } @@ -50,7 +50,7 @@ public class MaskManager { * @param type 处理器类型 * @param processer 脱敏处理器 */ - public static void registerMaskProcesser(String type, MaskProcesser processer) { + public static void registerMaskProcesser(String type, MaskProcessor processer) { processerMap.put(type, processer); } @@ -91,12 +91,12 @@ public class MaskManager { return data; } - MaskProcesser maskProcesser = processerMap.get(type); - if (maskProcesser == null) { + MaskProcessor maskProcessor = processerMap.get(type); + if (maskProcessor == null) { throw new IllegalStateException("Can not get mask processer for by type: " + type); } - return maskProcesser.mask(data); + return maskProcessor.mask(data); } } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskProcesser.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskProcessor.java similarity index 95% rename from mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskProcesser.java rename to mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskProcessor.java index 2ab96a06..321accc3 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskProcesser.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskProcessor.java @@ -18,7 +18,7 @@ package com.mybatisflex.core.mask; /** * 数据脱敏处理器 */ -public interface MaskProcesser { +public interface MaskProcessor { Object mask(Object data); } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/Masks.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/Masks.java index 5962d5b9..54786300 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/Masks.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/Masks.java @@ -86,7 +86,7 @@ public class Masks { * 手机号脱敏处理器 * 保留前三后四,中间的为星号 "*" */ - static MaskProcesser MOBILE_PROCESSER = data -> { + static MaskProcessor MOBILE_PROCESSOR = data -> { if (data instanceof String && ((String) data).startsWith("1") && ((String) data).length() == 11) { return mask((String) data, 3, 4, 4); } @@ -98,7 +98,7 @@ public class Masks { * 固定电话脱敏 * 保留前三后四,中间的为星号 "*" */ - static MaskProcesser FIXED_PHONE_PROCESSER = data -> { + static MaskProcessor FIXED_PHONE_PROCESSOR = data -> { if (data instanceof String && ((String) data).length() > 5) { return mask((String) data, 3, 2, ((String) data).length() - 5); } @@ -110,7 +110,7 @@ public class Masks { * 身份证号脱敏处理器 * 身份证号的保留前三后四,中间的数为星号 "*" */ - static MaskProcesser ID_CARD_NUMBER_PROCESSER = data -> { + static MaskProcessor ID_CARD_NUMBER_PROCESSOR = data -> { if (data instanceof String && ((String) data).length() >= 15) { return mask((String) data, 3, 4, ((String) data).length() - 7); } @@ -121,7 +121,7 @@ public class Masks { /** * 姓名脱敏 */ - static MaskProcesser CHINESE_NAME_PROCESSER = data -> { + static MaskProcessor CHINESE_NAME_PROCESSOR = data -> { if (data instanceof String) { String name = (String) data; if (name.length() == 2) { @@ -141,7 +141,7 @@ public class Masks { /** * 地址脱敏 */ - static MaskProcesser ADDRESS_PROCESSER = data -> { + static MaskProcessor ADDRESS_PROCESSOR = data -> { if (data instanceof String) { String address = (String) data; if (address.length() > 6) { @@ -157,7 +157,7 @@ public class Masks { /** * email 脱敏 */ - static MaskProcesser EMAIL_PROCESSER = data -> { + static MaskProcessor EMAIL_PROCESSOR = data -> { if (data instanceof String && ((String) data).contains("@")) { String fullEmail = (String) data; int indexOf = fullEmail.lastIndexOf("@"); @@ -180,7 +180,7 @@ public class Masks { /** * 密码 脱敏 */ - static MaskProcesser PASSWORD_PROCESSER = data -> { + static MaskProcessor PASSWORD_PROCESSOR = data -> { if (data instanceof String ) { return mask((String) data, 0, 0, ((String) data).length()) ; } @@ -191,7 +191,7 @@ public class Masks { /** * 车牌号 脱敏 */ - static MaskProcesser CAR_LICENSE_PROCESSER = data -> { + static MaskProcessor CAR_LICENSE_PROCESSOR = data -> { if (data instanceof String) { return mask((String) data, 3, 1, ((String) data).length() - 4); } @@ -202,7 +202,7 @@ public class Masks { /** * 银行卡号 脱敏 */ - static MaskProcesser BANK_CARD_PROCESSER = data -> { + static MaskProcessor BANK_CARD_PROCESSOR = data -> { if (data instanceof String && ((String) data).length() >= 8) { return mask((String) data, 4, 4, 4); } From c6a8fad16bc481701c27dae6b4aaa374ac6e7a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 11:03:52 +0800 Subject: [PATCH 2/8] try-with-resources --- .../com/mybatisflex/codegen/dialect/JdbcDialect.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcDialect.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcDialect.java index aa074a2a..686fc2bb 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcDialect.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcDialect.java @@ -53,20 +53,14 @@ public abstract class JdbcDialect implements IDialect { } - private Map buildColumnRemarks(Table table, DatabaseMetaData dbMeta, Connection conn) throws SQLException { + private Map buildColumnRemarks(Table table, DatabaseMetaData dbMeta, Connection conn) { Map columnRemarks = new HashMap<>(); - ResultSet colRs = null; - try { - colRs = dbMeta.getColumns(conn.getCatalog(), null, table.getName(), null); + try (ResultSet colRs = dbMeta.getColumns(conn.getCatalog(), null, table.getName(), null)) { while (colRs.next()) { columnRemarks.put(colRs.getString("COLUMN_NAME"), colRs.getString("REMARKS")); } } catch (Exception e) { System.err.println("无法获取字段的备注内容:" + e.getMessage()); - } finally { - if (colRs != null) { - colRs.close(); - } } return columnRemarks; } From 15ebdce681d1e72d6a8271e49d9de399b3a1bb71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 11:15:03 +0800 Subject: [PATCH 3/8] processer->processor --- .../mybatisflex/core/mask/MaskManager.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java index 4b51cb06..5bf1c73b 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java @@ -26,21 +26,21 @@ public class MaskManager { /** - * 脱敏处理器,type : processer + * 脱敏处理器,type : processor */ - private static Map processerMap = new HashMap<>(); + private static final Map processorMap = new HashMap<>(); static { - registerMaskProcesser(Masks.MOBILE, Masks.MOBILE_PROCESSOR); - registerMaskProcesser(Masks.FIXED_PHONE, Masks.FIXED_PHONE_PROCESSOR); - registerMaskProcesser(Masks.ID_CARD_NUMBER, Masks.ID_CARD_NUMBER_PROCESSOR); - registerMaskProcesser(Masks.CHINESE_NAME, Masks.CHINESE_NAME_PROCESSOR); - registerMaskProcesser(Masks.ADDRESS, Masks.ADDRESS_PROCESSOR); - registerMaskProcesser(Masks.EMAIL, Masks.EMAIL_PROCESSOR); - registerMaskProcesser(Masks.PASSWORD, Masks.PASSWORD_PROCESSOR); - registerMaskProcesser(Masks.CAR_LICENSE, Masks.CAR_LICENSE_PROCESSOR); - registerMaskProcesser(Masks.BANK_CARD_NUMBER, Masks.BANK_CARD_PROCESSOR); + registerMaskProcessor(Masks.MOBILE, Masks.MOBILE_PROCESSOR); + registerMaskProcessor(Masks.FIXED_PHONE, Masks.FIXED_PHONE_PROCESSOR); + registerMaskProcessor(Masks.ID_CARD_NUMBER, Masks.ID_CARD_NUMBER_PROCESSOR); + registerMaskProcessor(Masks.CHINESE_NAME, Masks.CHINESE_NAME_PROCESSOR); + registerMaskProcessor(Masks.ADDRESS, Masks.ADDRESS_PROCESSOR); + registerMaskProcessor(Masks.EMAIL, Masks.EMAIL_PROCESSOR); + registerMaskProcessor(Masks.PASSWORD, Masks.PASSWORD_PROCESSOR); + registerMaskProcessor(Masks.CAR_LICENSE, Masks.CAR_LICENSE_PROCESSOR); + registerMaskProcessor(Masks.BANK_CARD_NUMBER, Masks.BANK_CARD_PROCESSOR); } @@ -48,10 +48,10 @@ public class MaskManager { * 注册处理器,用户可以注册新的脱敏处理器 或者 覆盖内置的处理器 * * @param type 处理器类型 - * @param processer 脱敏处理器 + * @param processor 脱敏处理器 */ - public static void registerMaskProcesser(String type, MaskProcessor processer) { - processerMap.put(type, processer); + public static void registerMaskProcessor(String type, MaskProcessor processor) { + processorMap.put(type, processor); } @@ -91,9 +91,9 @@ public class MaskManager { return data; } - MaskProcessor maskProcessor = processerMap.get(type); + MaskProcessor maskProcessor = processorMap.get(type); if (maskProcessor == null) { - throw new IllegalStateException("Can not get mask processer for by type: " + type); + throw new IllegalStateException("Can not get mask processor for by type: " + type); } return maskProcessor.mask(data); From 2756808b11e543f4f7f7f71b8728c413d09f313c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 11:23:42 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=B8=8D=E5=8F=98=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0final=20=E5=85=B3=E9=94=AE=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changes.txt | 4 ++-- .../mybatisflex/codegen/dialect/JdbcTypeMapping.java | 2 +- .../codegen/generator/GeneratorFactory.java | 2 +- .../mybatisflex/codegen/template/EnjoyTemplate.java | 2 +- .../com/mybatisflex/core/datasource/DataSourceKey.java | 2 +- .../com/mybatisflex/core/dialect/DialectFactory.java | 4 ++-- .../mybatisflex/core/handler/FlexEnumTypeHandler.java | 4 ++-- .../core/javassist/ModifyAttrsRecordHandler.java | 2 +- .../core/javassist/ModifyAttrsRecordProxyFactory.java | 2 +- .../core/keygen/MultiEntityKeyGenerator.java | 2 +- .../core/keygen/MultiPrimaryKeyGenerator.java | 4 ++-- .../mybatisflex/core/keygen/MultiRowKeyGenerator.java | 2 +- .../mybatisflex/core/keygen/RowJdbc3KeyGenerator.java | 2 +- .../com/mybatisflex/core/keygen/RowKeyGenerator.java | 4 ++-- .../java/com/mybatisflex/core/mask/MaskManager.java | 4 ++-- .../com/mybatisflex/core/mask/MaskTypeHandler.java | 2 +- .../main/java/com/mybatisflex/core/query/Brackets.java | 2 +- .../mybatisflex/core/query/DistinctQueryColumn.java | 2 +- .../src/main/java/com/mybatisflex/core/query/Join.java | 4 ++-- .../main/java/com/mybatisflex/core/query/Joiner.java | 4 ++-- .../mybatisflex/core/query/OperatorQueryCondition.java | 4 ++-- .../core/query/OperatorSelectCondition.java | 4 ++-- .../java/com/mybatisflex/core/query/SqlConnector.java | 2 +- .../com/mybatisflex/core/query/StringQueryOrderBy.java | 2 +- .../src/main/java/com/mybatisflex/core/row/Row.java | 2 +- .../com/mybatisflex/core/row/RowMapperInvoker.java | 7 ++----- .../mybatisflex/core/table/EntityWrapperFactory.java | 4 ++-- .../main/java/com/mybatisflex/core/table/TableDef.java | 2 +- .../java/com/mybatisflex/core/table/TableInfo.java | 10 +++++----- .../com/mybatisflex/core/tenant/TenantManager.java | 2 +- .../java/com/mybatisflex/core/util/UpdateEntity.java | 2 +- .../spring/boot/MultiDataSourceAutoConfiguration.java | 2 +- 32 files changed, 48 insertions(+), 51 deletions(-) diff --git a/changes.txt b/changes.txt index b741ab22..cb8de87e 100644 --- a/changes.txt +++ b/changes.txt @@ -196,7 +196,7 @@ mybatis-flex v1.0.9 20230410: 修复:@Table(onSet) 配置在某些场景无法使用的问题 修复:Postgresql 的 limit offset 方言出错的问题 修复:多数据源的场景下,通过 @Table(dataSource) 配置无效的问题 -优化:修改错别字 processer 为 processor +优化:修改错别字 processor 为 processor 优化:优化 DbAutoConfiguration 未正确配置数据源时的错误信息 优化:Row 添加 getString()/getInt() 等等相关方法 优化:代码生成器通过 SqlServer 生成出错的问题 @@ -273,7 +273,7 @@ mybatis-flex v1.0.4 20230326: mybatis-flex v1.0.3 20230321: 新增:APT 自动生成 Mapper 代码的功能,无需在手动编写 -新增:APT 新增 "processer.mappersGenerateEnable" 配置,用于开启是否自动生成 Mapper 类 +新增:APT 新增 "processor.mappersGenerateEnable" 配置,用于开启是否自动生成 Mapper 类 修复:condition.when(flag) 的 value 值有返回的问题 文档:添加 where 动态条件文档示例,同步 APT 的文档 diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcTypeMapping.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcTypeMapping.java index d428e7ee..14eb7d00 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcTypeMapping.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/dialect/JdbcTypeMapping.java @@ -22,7 +22,7 @@ import java.util.Map; public class JdbcTypeMapping { - private static Map mapping = new HashMap<>(); + private static final Map mapping = new HashMap<>(); static { registerMapping("[B", "byte[]"); diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/GeneratorFactory.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/GeneratorFactory.java index be488eb9..ddc13dcf 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/GeneratorFactory.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/generator/GeneratorFactory.java @@ -23,7 +23,7 @@ import java.util.*; public class GeneratorFactory { - private static Map generators = new HashMap<>(); + private static final Map generators = new HashMap<>(); static { registerGenerator("entity", new EntityGenerator()); diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/template/EnjoyTemplate.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/template/EnjoyTemplate.java index 819e538e..06202a63 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/template/EnjoyTemplate.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/template/EnjoyTemplate.java @@ -24,7 +24,7 @@ import java.util.Map; public class EnjoyTemplate implements ITemplate { - private Engine engine; + private final Engine engine; public EnjoyTemplate() { engine = Engine.create("mybatis-flex", engine -> { diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceKey.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceKey.java index c70ba90a..5825e32a 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceKey.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceKey.java @@ -19,7 +19,7 @@ import java.util.function.Supplier; public class DataSourceKey { - private static ThreadLocal keyThreadLocal = new ThreadLocal<>(); + private static final ThreadLocal keyThreadLocal = new ThreadLocal<>(); public static void use(String dataSourceKey) { keyThreadLocal.set(dataSourceKey); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java index 8dfc5aed..ed3d54c6 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java @@ -35,12 +35,12 @@ public class DialectFactory { * 比如,在 mybatis-flex 实现的方言中有 bug 或者 有自己的独立实现,可以添加自己的方言实现到 * 此 map 中,用于覆盖系统的方言实现 */ - private static Map dialectMap = new EnumMap<>(DbType.class); + private static final Map dialectMap = new EnumMap<>(DbType.class); /** * 通过设置当前线程的数据库类型,以达到在代码执行时随时切换方言的功能 */ - private static ThreadLocal dbTypeThreadLocal = new ThreadLocal<>(); + private static final ThreadLocal dbTypeThreadLocal = new ThreadLocal<>(); /** diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/handler/FlexEnumTypeHandler.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/handler/FlexEnumTypeHandler.java index 9826517c..6a3b8f04 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/handler/FlexEnumTypeHandler.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/handler/FlexEnumTypeHandler.java @@ -33,8 +33,8 @@ import java.util.List; public class FlexEnumTypeHandler> extends BaseTypeHandler { - private Class enumPropertyType; - private E[] enums; + private final Class enumPropertyType; + private final E[] enums; private Field property; private Method getter; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordHandler.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordHandler.java index fbf3803a..5e340f54 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordHandler.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordHandler.java @@ -26,7 +26,7 @@ import java.util.Set; public class ModifyAttrsRecordHandler implements MethodHandler { - private Set modifyAttrs = new LinkedHashSet<>(); + private final Set modifyAttrs = new LinkedHashSet<>(); public Set getModifyAttrs() { return modifyAttrs; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordProxyFactory.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordProxyFactory.java index 2e8c7e8d..4e5d175f 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordProxyFactory.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/javassist/ModifyAttrsRecordProxyFactory.java @@ -24,7 +24,7 @@ import java.util.Arrays; public class ModifyAttrsRecordProxyFactory { - private static ModifyAttrsRecordProxyFactory instance = new ModifyAttrsRecordProxyFactory(); + private static final ModifyAttrsRecordProxyFactory instance = new ModifyAttrsRecordProxyFactory(); public static ModifyAttrsRecordProxyFactory getInstance(){ return instance; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiEntityKeyGenerator.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiEntityKeyGenerator.java index 0f4fbb17..d95aafb5 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiEntityKeyGenerator.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiEntityKeyGenerator.java @@ -30,7 +30,7 @@ import java.util.Map; */ public class MultiEntityKeyGenerator implements KeyGenerator { - private KeyGenerator keyGenerator; + private final KeyGenerator keyGenerator; public MultiEntityKeyGenerator(KeyGenerator keyGenerator) { this.keyGenerator = keyGenerator; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiPrimaryKeyGenerator.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiPrimaryKeyGenerator.java index 8bf4816d..2227e7ca 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiPrimaryKeyGenerator.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiPrimaryKeyGenerator.java @@ -31,10 +31,10 @@ import java.util.List; */ public class MultiPrimaryKeyGenerator implements KeyGenerator, IMultiKeyGenerator { - private List keyGenerators; + private final List keyGenerators; //所有自增字段的名称 - private String[] autoGenKeyColumnNames; + private final String[] autoGenKeyColumnNames; public MultiPrimaryKeyGenerator(MappedStatement mappedStatement, TableInfo tableInfo, List primaryKeyList) { this.keyGenerators = new ArrayList<>(); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiRowKeyGenerator.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiRowKeyGenerator.java index e941002e..3be78252 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiRowKeyGenerator.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/MultiRowKeyGenerator.java @@ -31,7 +31,7 @@ import java.util.Map; */ public class MultiRowKeyGenerator implements KeyGenerator { - private KeyGenerator keyGenerator; + private final KeyGenerator keyGenerator; public MultiRowKeyGenerator(KeyGenerator keyGenerator) { this.keyGenerator = keyGenerator; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowJdbc3KeyGenerator.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowJdbc3KeyGenerator.java index 64d111c0..793f5116 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowJdbc3KeyGenerator.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowJdbc3KeyGenerator.java @@ -43,7 +43,7 @@ import java.util.Map.Entry; */ public class RowJdbc3KeyGenerator implements KeyGenerator { - private String keyProperty; + private final String keyProperty; private static final String SECOND_GENERIC_PARAM_NAME = ParamNameResolver.GENERIC_NAME_PREFIX + "2"; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowKeyGenerator.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowKeyGenerator.java index 0e99d877..2375af65 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowKeyGenerator.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/keygen/RowKeyGenerator.java @@ -40,9 +40,9 @@ import java.util.Map; * 为 row 的主键生成器 */ public class RowKeyGenerator implements KeyGenerator, IMultiKeyGenerator { - private static KeyGenerator[] NO_KEY_GENERATORS = new KeyGenerator[0]; + private static final KeyGenerator[] NO_KEY_GENERATORS = new KeyGenerator[0]; - private MappedStatement ms; + private final MappedStatement ms; private KeyGenerator[] keyGenerators; private List autoKeyGeneratorNames; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java index 5bf1c73b..9a04bc9c 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskManager.java @@ -30,6 +30,8 @@ public class MaskManager { */ private static final Map processorMap = new HashMap<>(); + private static final ThreadLocal skipFlags = new ThreadLocal<>(); + static { registerMaskProcessor(Masks.MOBILE, Masks.MOBILE_PROCESSOR); @@ -55,8 +57,6 @@ public class MaskManager { } - private static ThreadLocal skipFlags = new ThreadLocal<>(); - /** * 跳过脱敏处理 */ diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskTypeHandler.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskTypeHandler.java index 1138dea0..73f70e2e 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskTypeHandler.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mask/MaskTypeHandler.java @@ -25,7 +25,7 @@ import java.sql.SQLException; public class MaskTypeHandler extends BaseTypeHandler { - private String maskType; + private final String maskType; public MaskTypeHandler(String maskType) { this.maskType = maskType; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Brackets.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Brackets.java index 93c4338d..497a53b3 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Brackets.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Brackets.java @@ -25,7 +25,7 @@ import java.util.List; */ public class Brackets extends QueryCondition { - private QueryCondition childCondition; + private final QueryCondition childCondition; public Brackets(QueryCondition childCondition) { diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/DistinctQueryColumn.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/DistinctQueryColumn.java index bfa67e45..d2f93fed 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/DistinctQueryColumn.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/DistinctQueryColumn.java @@ -23,7 +23,7 @@ import java.util.List; public class DistinctQueryColumn extends QueryColumn { - private List queryColumns; + private final List queryColumns; public DistinctQueryColumn(QueryColumn... queryColumns) { this.queryColumns = CollectionUtil.newArrayList(queryColumns); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Join.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Join.java index 853ef14a..ce9a76e7 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Join.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Join.java @@ -37,8 +37,8 @@ public class Join implements Serializable { static final String TYPE_CROSS = " CROSS JOIN "; - private String type; - private QueryTable queryTable; + private final String type; + private final QueryTable queryTable; private QueryCondition on; private boolean effective; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Joiner.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Joiner.java index 7741a6b7..81372a3f 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Joiner.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/Joiner.java @@ -21,8 +21,8 @@ package com.mybatisflex.core.query; */ public class Joiner { - private M queryWrapper; - private Join join; + private final M queryWrapper; + private final Join join; public Joiner(M queryWrapper, Join join) { this.queryWrapper = queryWrapper; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorQueryCondition.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorQueryCondition.java index 4f88a532..d0b4399a 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorQueryCondition.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorQueryCondition.java @@ -26,8 +26,8 @@ import java.util.List; */ public class OperatorQueryCondition extends QueryCondition { - private String operator; - private QueryCondition child; + private final String operator; + private final QueryCondition child; public OperatorQueryCondition(String operator, QueryCondition child) { this.operator = operator; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorSelectCondition.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorSelectCondition.java index 2ca7b006..f3f96743 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorSelectCondition.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/OperatorSelectCondition.java @@ -27,8 +27,8 @@ import java.util.List; */ public class OperatorSelectCondition extends QueryCondition { //操作符,例如 exist, not exist - private String operator; - private QueryWrapper queryWrapper; + private final String operator; + private final QueryWrapper queryWrapper; public OperatorSelectCondition(String operator, QueryWrapper queryWrapper) { this.operator = operator; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/SqlConnector.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/SqlConnector.java index 0db5c55a..ec93bec1 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/SqlConnector.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/SqlConnector.java @@ -30,7 +30,7 @@ public enum SqlConnector { ; - private String value; + private final String value; SqlConnector(String value) { this.value = value; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/StringQueryOrderBy.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/StringQueryOrderBy.java index 51e63fd4..0f02c5e9 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/StringQueryOrderBy.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/StringQueryOrderBy.java @@ -26,7 +26,7 @@ import java.util.List; */ public class StringQueryOrderBy extends QueryOrderBy { - private String orderBy; + private final String orderBy; public StringQueryOrderBy(String orderBy) { SqlUtil.keepOrderBySqlSafely(orderBy); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Row.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Row.java index c55259af..514bf14d 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Row.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Row.java @@ -42,7 +42,7 @@ public class Row extends LinkedHashMap implements ModifyAttrsRec } - private Set modifyAttrs = new LinkedHashSet<>(); + private final Set modifyAttrs = new LinkedHashSet<>(); @Override public Set getModifyAttrs() { diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/RowMapperInvoker.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/RowMapperInvoker.java index 69113874..cf2fe407 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/RowMapperInvoker.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/RowMapperInvoker.java @@ -53,8 +53,7 @@ public class RowMapperInvoker { public int[] insertBatch(String tableName, Collection rows, int batchSize) { int[] results = new int[rows.size()]; - SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH,true); - try { + try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, true)) { RowMapper mapper = sqlSession.getMapper(RowMapper.class); int counter = 0; int resultsPos = 0; @@ -73,7 +72,7 @@ public class RowMapperInvoker { } } - if (counter != 0){ + if (counter != 0) { List batchResults = sqlSession.flushStatements(); for (BatchResult batchResult : batchResults) { int[] updateCounts = batchResult.getUpdateCounts(); @@ -82,8 +81,6 @@ public class RowMapperInvoker { } } } - } finally { - sqlSession.close(); } return results; } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/EntityWrapperFactory.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/EntityWrapperFactory.java index 3aca921b..882acc5b 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/EntityWrapperFactory.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/EntityWrapperFactory.java @@ -43,8 +43,8 @@ public class EntityWrapperFactory implements ObjectWrapperFactory { static class FlexBeanWrapper extends BeanWrapper { - private Object entity; - private TableInfo tableInfo; + private final Object entity; + private final TableInfo tableInfo; public FlexBeanWrapper(MetaObject metaObject, Object object) { super(metaObject, object); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDef.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDef.java index 33b24906..1abe0b8e 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDef.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDef.java @@ -21,7 +21,7 @@ import java.io.Serializable; public class TableDef implements Serializable { - private String tableName; + private final String tableName; public TableDef(String tableName) { this.tableName = tableName; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java index 3173af76..b4d2953e 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java @@ -88,8 +88,8 @@ public class TableInfo { private List primaryKeyList; //column 和 java 属性的称的关系映射 - private Map columnInfoMapping = new HashMap<>(); - private Map propertyColumnMapping = new HashMap<>(); + private final Map columnInfoMapping = new HashMap<>(); + private final Map propertyColumnMapping = new HashMap<>(); private List onInsertListeners; private List onUpdateListeners; @@ -809,7 +809,7 @@ public class TableInfo { } - private static Map, List> insertListenerCache = new ConcurrentHashMap<>(); + private static final Map, List> insertListenerCache = new ConcurrentHashMap<>(); public void invokeOnInsertListener(Object entity) { List listeners = MapUtil.computeIfAbsent(insertListenerCache, entityClass, aClass -> { @@ -823,7 +823,7 @@ public class TableInfo { } - private static Map, List> updateListenerCache = new ConcurrentHashMap<>(); + private static final Map, List> updateListenerCache = new ConcurrentHashMap<>(); public void invokeOnUpdateListener(Object entity) { List listeners = MapUtil.computeIfAbsent(updateListenerCache, entityClass, aClass -> { @@ -837,7 +837,7 @@ public class TableInfo { } - private static Map, List> setListenerCache = new ConcurrentHashMap<>(); + private static final Map, List> setListenerCache = new ConcurrentHashMap<>(); public Object invokeOnSetListener(Object entity, String property, Object value) { List listeners = MapUtil.computeIfAbsent(setListenerCache, entityClass, aClass -> { diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java index 81886412..13394a4f 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/tenant/TenantManager.java @@ -19,7 +19,7 @@ import java.util.function.Supplier; public class TenantManager { - private static ThreadLocal ignoreFlags = new ThreadLocal<>(); + private static final ThreadLocal ignoreFlags = new ThreadLocal<>(); private static TenantFactory tenantFactory; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/UpdateEntity.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/UpdateEntity.java index f192bced..1ea37034 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/UpdateEntity.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/UpdateEntity.java @@ -29,7 +29,7 @@ import java.util.List; public class UpdateEntity { - private static ReflectorFactory reflectorFactory = new DefaultReflectorFactory(); + private static final ReflectorFactory reflectorFactory = new DefaultReflectorFactory(); public static T of(Class clazz) { diff --git a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java index 62fd5e49..b8c733e3 100644 --- a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java +++ b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java @@ -40,7 +40,7 @@ import java.util.Map; @AutoConfigureBefore({DataSourceAutoConfiguration.class}) public class MultiDataSourceAutoConfiguration { - private Map> dataSourceProperties; + private final Map> dataSourceProperties; public MultiDataSourceAutoConfiguration(MybatisFlexProperties properties) { From 404148cdffafa7ea6bd0835aeec2d74cc7f23d49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 11:28:16 +0800 Subject: [PATCH 5/8] LimitOffsetProcesser -> LimitOffsetProcessor --- ...rocesser.java => LimitOffsetProcessor.java} | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) rename mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/{LimitOffsetProcesser.java => LimitOffsetProcessor.java} (90%) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcesser.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java similarity index 90% rename from mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcesser.java rename to mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java index 87b5b8f6..d473ded9 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcesser.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java @@ -20,13 +20,13 @@ import com.mybatisflex.core.query.QueryWrapper; /** * limit 和 offset 参数的处理器 */ -public interface LimitOffsetProcesser { +public interface LimitOffsetProcessor { /** * MySql 的处理器 * 适合 {@link DbType#MYSQL,DbType#MARIADB,DbType#H2,DbType#CLICK_HOUSE,DbType#XCloud} */ - LimitOffsetProcesser MYSQL = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor MYSQL = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { sql.append(" LIMIT ").append(limitOffset).append(", ").append(limitRows); } else if (limitRows != null) { @@ -41,7 +41,7 @@ public interface LimitOffsetProcesser { * 适合 {@link DbType#SAP_HANA,DbType#IMPALA,DbType#HIGH_GO,DbType#VERTICA,DbType#REDSHIFT} * 适合 {@link DbType#OPENGAUSS,DbType#TDENGINE,DbType#UXDB} */ - LimitOffsetProcesser POSTGRESQL = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor POSTGRESQL = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { sql.append(" LIMIT ").append(limitRows).append(" OFFSET ").append(limitOffset); } else if (limitRows != null) { @@ -54,7 +54,7 @@ public interface LimitOffsetProcesser { * derby 的处理器 * 适合 {@link DbType#DERBY,DbType#ORACLE_12C,DbType#SQLSERVER ,DbType#POSTGRE_SQL} */ - LimitOffsetProcesser DERBY = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor DERBY = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { // OFFSET ** ROWS FETCH NEXT ** ROWS ONLY") sql.append(" OFFSET ").append(limitOffset).append(" ROWS FETCH NEXT ").append(limitRows).append(" ROWS ONLY"); @@ -69,7 +69,7 @@ public interface LimitOffsetProcesser { * db2 的处理器 * 适合 {@link DbType#DB2,DbType#SQLSERVER_2005} */ - LimitOffsetProcesser DB2 = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor DB2 = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { // OFFSET ** ROWS FETCH NEXT ** ROWS ONLY") sql.append(" OFFSET ").append(limitOffset).append(" ROWS FETCH NEXT ").append(limitRows).append(" ROWS ONLY"); @@ -85,7 +85,7 @@ public interface LimitOffsetProcesser { * 适合 {@link DbType#INFORMIX} * 文档 {@link https://www.ibm.com/docs/en/informix-servers/14.10?topic=clause-restricting-return-values-skip-limit-first-options} */ - LimitOffsetProcesser INFORMIX = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor INFORMIX = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { // SELECT SKIP 2 FIRST 1 * FROM sql.insert(6, " SKIP " + limitOffset + " FIRST " + limitRows); @@ -99,7 +99,7 @@ public interface LimitOffsetProcesser { * Firebird 的处理器 * 适合 {@link DbType#FIREBIRD} */ - LimitOffsetProcesser FIREBIRD = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor FIREBIRD = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { // ROWS 2 TO 3 sql.append(" ROWS ").append(limitOffset).append(" TO ").append(limitOffset + limitRows); @@ -113,7 +113,7 @@ public interface LimitOffsetProcesser { * Oracle11g及以下数据库的处理器 * 适合 {@link DbType#ORACLE,DbType#DM,DbType#GAUSS} */ - LimitOffsetProcesser ORACLE = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor ORACLE = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null) { if (limitOffset == null) { limitOffset = 0; @@ -130,7 +130,7 @@ public interface LimitOffsetProcesser { * Sybase 处理器 * 适合 {@link DbType#SYBASE} */ - LimitOffsetProcesser SYBASE = (sql, queryWrapper, limitRows, limitOffset) -> { + LimitOffsetProcessor SYBASE = (sql, queryWrapper, limitRows, limitOffset) -> { if (limitRows != null && limitOffset != null) { //SELECT TOP 1 START AT 3 * FROM sql.insert(6, " TOP " + limitRows + " START AT " + (limitOffset + 1)); From 2be8dc0c399c76b5c4c6e506faeb962c1111bfd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 11:28:48 +0800 Subject: [PATCH 6/8] LimitOffsetProcesser -> LimitOffsetProcessor --- .../core/dialect/DialectFactory.java | 22 +++++++++---------- .../core/dialect/impl/CommonsDialectImpl.java | 14 ++++++------ .../core/dialect/impl/OracleDialect.java | 6 ++--- .../coretest/AccountSqlTester.java | 16 +++++++------- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java index ed3d54c6..534013c1 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/DialectFactory.java @@ -104,12 +104,12 @@ public class DialectFactory { case CUBRID: case GOLDILOCKS: case CSIIDB: - return new CommonsDialectImpl(KeywordWrap.BACKQUOTE, LimitOffsetProcesser.MYSQL); + return new CommonsDialectImpl(KeywordWrap.BACKQUOTE, LimitOffsetProcessor.MYSQL); case ORACLE: - return new OracleDialect(LimitOffsetProcesser.ORACLE); + return new OracleDialect(LimitOffsetProcessor.ORACLE); case DM: case GAUSS: - return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.ORACLE); + return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.ORACLE); case POSTGRE_SQL: case SQLITE: case HSQL: @@ -123,21 +123,21 @@ public class DialectFactory { case OPENGAUSS: case TDENGINE: case UXDB: - return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.POSTGRESQL); + return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL); case ORACLE_12C: - return new OracleDialect(LimitOffsetProcesser.DERBY); + return new OracleDialect(LimitOffsetProcessor.DERBY); case FIREBIRD: - return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DERBY); + return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DERBY); case SQLSERVER: - return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcesser.DERBY); + return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.DERBY); case SQLSERVER_2005: - return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcesser.DB2); + return new CommonsDialectImpl(KeywordWrap.SQUARE_BRACKETS, LimitOffsetProcessor.DB2); case INFORMIX: - return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.INFORMIX); + return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX); case DB2: - return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DB2); + return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DB2); case SYBASE: - return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.SYBASE); + return new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE); default: return new CommonsDialectImpl(); } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/CommonsDialectImpl.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/CommonsDialectImpl.java index c58130e4..ede487af 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/CommonsDialectImpl.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/CommonsDialectImpl.java @@ -18,7 +18,7 @@ package com.mybatisflex.core.dialect.impl; import com.mybatisflex.core.FlexGlobalConfig; import com.mybatisflex.core.dialect.IDialect; import com.mybatisflex.core.dialect.KeywordWrap; -import com.mybatisflex.core.dialect.LimitOffsetProcesser; +import com.mybatisflex.core.dialect.LimitOffsetProcessor; import com.mybatisflex.core.exception.FlexExceptions; import com.mybatisflex.core.query.*; import com.mybatisflex.core.row.Row; @@ -40,18 +40,18 @@ import java.util.StringJoiner; public class CommonsDialectImpl implements IDialect { protected KeywordWrap keywordWrap = KeywordWrap.BACKQUOTE; - private LimitOffsetProcesser limitOffsetProcesser = LimitOffsetProcesser.MYSQL; + private LimitOffsetProcessor limitOffsetProcessor = LimitOffsetProcessor.MYSQL; public CommonsDialectImpl() { } - public CommonsDialectImpl(LimitOffsetProcesser limitOffsetProcesser) { - this.limitOffsetProcesser = limitOffsetProcesser; + public CommonsDialectImpl(LimitOffsetProcessor limitOffsetProcessor) { + this.limitOffsetProcessor = limitOffsetProcessor; } - public CommonsDialectImpl(KeywordWrap keywordWrap, LimitOffsetProcesser limitOffsetProcesser) { + public CommonsDialectImpl(KeywordWrap keywordWrap, LimitOffsetProcessor limitOffsetProcessor) { this.keywordWrap = keywordWrap; - this.limitOffsetProcesser = limitOffsetProcesser; + this.limitOffsetProcessor = limitOffsetProcessor; } @Override @@ -827,7 +827,7 @@ public class CommonsDialectImpl implements IDialect { * 构建 limit 和 offset 的参数 */ protected StringBuilder buildLimitOffsetSql(StringBuilder sqlBuilder, QueryWrapper queryWrapper, Integer limitRows, Integer limitOffset) { - return limitOffsetProcesser.process(sqlBuilder, queryWrapper, limitRows, limitOffset); + return limitOffsetProcessor.process(sqlBuilder, queryWrapper, limitRows, limitOffset); } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/OracleDialect.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/OracleDialect.java index 9957ee74..17ba391a 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/OracleDialect.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/impl/OracleDialect.java @@ -16,7 +16,7 @@ package com.mybatisflex.core.dialect.impl; import com.mybatisflex.core.dialect.KeywordWrap; -import com.mybatisflex.core.dialect.LimitOffsetProcesser; +import com.mybatisflex.core.dialect.LimitOffsetProcessor; import com.mybatisflex.core.util.CollectionUtil; import com.mybatisflex.core.util.StringUtil; @@ -55,8 +55,8 @@ public class OracleDialect extends CommonsDialectImpl { "VALIDATE", "VALUES", "VARCHAR", "VARCHAR2" ); - public OracleDialect(LimitOffsetProcesser limitOffsetProcesser) { - super(KeywordWrap.NONE, limitOffsetProcesser); + public OracleDialect(LimitOffsetProcessor limitOffsetProcessor) { + super(KeywordWrap.NONE, limitOffsetProcessor); } public boolean isCaseSensitive() { diff --git a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java index ddeb198f..7bc3b14c 100644 --- a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java +++ b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java @@ -3,7 +3,7 @@ package com.mybatisflex.coretest; import com.mybatisflex.core.dialect.impl.CommonsDialectImpl; import com.mybatisflex.core.dialect.IDialect; import com.mybatisflex.core.dialect.KeywordWrap; -import com.mybatisflex.core.dialect.LimitOffsetProcesser; +import com.mybatisflex.core.dialect.LimitOffsetProcessor; import com.mybatisflex.core.query.CPI; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.table.TableInfo; @@ -49,7 +49,7 @@ public class AccountSqlTester { .from(ACCOUNT.as("a"), ARTICLE.as("b")) .where(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID)); - IDialect dialect = new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcesser.MYSQL); + IDialect dialect = new CommonsDialectImpl(KeywordWrap.NONE, LimitOffsetProcessor.MYSQL); String sql = dialect.forSelectListByQuery(query); System.out.println(sql); } @@ -321,28 +321,28 @@ public class AccountSqlTester { String sql1 = dialect1.buildSelectSql(queryWrapper); System.out.println(sql1); - IDialect dialect2 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.ORACLE); + IDialect dialect2 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.ORACLE); String sql2 = dialect2.buildSelectSql(queryWrapper); System.out.println(sql2); - IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DB2); + IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.DB2); String sql3 = dialect3.buildSelectSql(queryWrapper); System.out.println(sql3); - IDialect dialect4 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.POSTGRESQL); + IDialect dialect4 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.POSTGRESQL); String sql4 = dialect4.buildSelectSql(queryWrapper); System.out.println(sql4); - IDialect dialect5 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.INFORMIX); + IDialect dialect5 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.INFORMIX); String sql5 = dialect5.buildSelectSql(queryWrapper); System.out.println(sql5); - IDialect dialect6 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.SYBASE); + IDialect dialect6 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.SYBASE); String sql6 = dialect6.buildSelectSql(queryWrapper); System.out.println(sql6); - IDialect dialect7 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.FIREBIRD); + IDialect dialect7 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcessor.FIREBIRD); String sql7 = dialect7.buildSelectSql(queryWrapper); System.out.println(sql7); } From 203b7dff12668f702351c5caa4a213ad60a2581e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 11:29:40 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=B8=8D=E5=8F=98=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0final=E5=85=B3=E9=94=AE=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisflex/core/audit/DefaultMessageFactory.java | 4 ++-- .../core/audit/ScheduledMessageCollector.java | 10 +++++----- .../core/audit/http/HttpMessageReporter.java | 6 +++--- .../mybatisflex/core/datasource/DataSourceBuilder.java | 10 +++------- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java index 541a44e6..55d9b19a 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java @@ -25,8 +25,8 @@ import java.util.Enumeration; */ public class DefaultMessageFactory implements MessageFactory { - private String platform = "mybatis-flex"; - private String hostIp = getHostIp(); + private final String platform = "mybatis-flex"; + private final String hostIp = getHostIp(); @Override diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ScheduledMessageCollector.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ScheduledMessageCollector.java index 9e82ac62..b0860043 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ScheduledMessageCollector.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ScheduledMessageCollector.java @@ -28,12 +28,12 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; */ public class ScheduledMessageCollector implements MessageCollector, Runnable { - private long period; - private ScheduledExecutorService scheduler; - private MessageReporter messageSender; + private final long period; + private final ScheduledExecutorService scheduler; + private final MessageReporter messageSender; - private List messages = Collections.synchronizedList(new ArrayList<>()); - private ReentrantReadWriteLock rrwLock = new ReentrantReadWriteLock(); + private final List messages = Collections.synchronizedList(new ArrayList<>()); + private final ReentrantReadWriteLock rrwLock = new ReentrantReadWriteLock(); public ScheduledMessageCollector() { this(10, new ConsoleMessageReporter()); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpMessageReporter.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpMessageReporter.java index ace10e3d..c2bb87bc 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpMessageReporter.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpMessageReporter.java @@ -22,9 +22,9 @@ import java.util.List; public class HttpMessageReporter implements MessageReporter { - private String endpoint; - private String secretKey; - private JSONFormatter jsonFormatter; + private final String endpoint; + private final String secretKey; + private final JSONFormatter jsonFormatter; public HttpMessageReporter(String endpoint, String secretKey, JSONFormatter jsonFormatter) { this.endpoint = endpoint; diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceBuilder.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceBuilder.java index 3734b619..5e718d70 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceBuilder.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/datasource/DataSourceBuilder.java @@ -27,7 +27,7 @@ import java.util.Map; public class DataSourceBuilder { - private static Map dataSourceAlias = new HashMap<>(); + private static final Map dataSourceAlias = new HashMap<>(); static { dataSourceAlias.put("druid", "com.alibaba.druid.pool.DruidDataSource"); @@ -39,7 +39,7 @@ public class DataSourceBuilder { dataSourceAlias.put("dbcp2", "org.apache.commons.dbcp2.BasicDataSource"); } - private Map dataSourceProperties; + private final Map dataSourceProperties; public DataSourceBuilder(Map dataSourceProperties) { this.dataSourceProperties = dataSourceProperties; @@ -49,11 +49,7 @@ public class DataSourceBuilder { String dataSourceClassName = null; String type = dataSourceProperties.get("type"); if (StringUtil.isNotBlank(type)) { - if (dataSourceAlias.containsKey(type)) { - dataSourceClassName = dataSourceAlias.get(type); - } else { - dataSourceClassName = type; - } + dataSourceClassName = dataSourceAlias.getOrDefault(type, type); } else { dataSourceClassName = detectDataSourceClass(); } From 7c3055f0e7c5c97af199aba5d3939e0db6b29f6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E4=BD=B3=E5=BD=AC?= Date: Fri, 12 May 2023 13:56:18 +0800 Subject: [PATCH 8/8] reset file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 全局替换失误 --- changes.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changes.txt b/changes.txt index cb8de87e..b741ab22 100644 --- a/changes.txt +++ b/changes.txt @@ -196,7 +196,7 @@ mybatis-flex v1.0.9 20230410: 修复:@Table(onSet) 配置在某些场景无法使用的问题 修复:Postgresql 的 limit offset 方言出错的问题 修复:多数据源的场景下,通过 @Table(dataSource) 配置无效的问题 -优化:修改错别字 processor 为 processor +优化:修改错别字 processer 为 processor 优化:优化 DbAutoConfiguration 未正确配置数据源时的错误信息 优化:Row 添加 getString()/getInt() 等等相关方法 优化:代码生成器通过 SqlServer 生成出错的问题 @@ -273,7 +273,7 @@ mybatis-flex v1.0.4 20230326: mybatis-flex v1.0.3 20230321: 新增:APT 自动生成 Mapper 代码的功能,无需在手动编写 -新增:APT 新增 "processor.mappersGenerateEnable" 配置,用于开启是否自动生成 Mapper 类 +新增:APT 新增 "processer.mappersGenerateEnable" 配置,用于开启是否自动生成 Mapper 类 修复:condition.when(flag) 的 value 值有返回的问题 文档:添加 where 动态条件文档示例,同步 APT 的文档