diff --git a/pom.xml b/pom.xml index c5b963b334dd1b19ee72bfb185a63d721ea48749..191e8fd487e9f80a139141a94e3ac1aa3b8f2e1e 100644 --- a/pom.xml +++ b/pom.xml @@ -75,6 +75,7 @@ 2.7.18 3.0.1 + 4.0.2 3.0.2 8.0.33 diff --git a/warm-flow-orm/warm-flow-mybatis-plus/pom.xml b/warm-flow-orm/warm-flow-mybatis-plus/pom.xml index 25179c27e8cd414ae6c9702e97136bb51f0e6dc6..1fdee6764ca862513c9ca9f9fd73d5da366889ef 100644 --- a/warm-flow-orm/warm-flow-mybatis-plus/pom.xml +++ b/warm-flow-orm/warm-flow-mybatis-plus/pom.xml @@ -18,6 +18,7 @@ warm-flow-mybatis-plus-core warm-flow-mybatis-plus-sb-starter warm-flow-mybatis-plus-sb3-starter + warm-flow-mybatis-plus-sb4-starter warm-flow-mybatis-plus-solon-plugin diff --git a/warm-flow-orm/warm-flow-mybatis-plus/warm-flow-mybatis-plus-sb4-starter/pom.xml b/warm-flow-orm/warm-flow-mybatis-plus/warm-flow-mybatis-plus-sb4-starter/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..28aa0c70979d073214b505c89c5576b15005808f --- /dev/null +++ b/warm-flow-orm/warm-flow-mybatis-plus/warm-flow-mybatis-plus-sb4-starter/pom.xml @@ -0,0 +1,91 @@ + + + 4.0.0 + + org.dromara.warm + warm-flow-mybatis-plus + 1.8.5-m1 + + + warm-flow-mybatis-plus-sb4-starter + warm-flow-mybatis-plus-sb4-starter + warm-flow orm为mybatis-plus的springboot4 starter + https://github.com/dromara/warm-flow + + + 3.5.15 + + + + + org.dromara.warm + warm-flow-mybatis-plus-sb-starter + + + mybatis-plus-extension + com.baomidou + + + com.baomidou + mybatis-plus-boot-starter + + + + + + com.baomidou + mybatis-plus-spring-boot4-starter + ${mybatis-plus.version} + + + + com.baomidou + mybatis-plus-jsqlparser + ${mybatis-plus.version} + + + + + + + + org.springframework.boot + spring-boot-dependencies + ${springboot4.version} + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java17.version} + ${java17.version} + true + ${java17.path}\javac + ${project.build.sourceEncoding} + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + + ${java17.version} + + + + + + + diff --git a/warm-flow-orm/warm-flow-mybatis/warm-flow-mybatis-core/src/main/java/org/dromara/warm/flow/orm/utils/CommonUtil.java b/warm-flow-orm/warm-flow-mybatis/warm-flow-mybatis-core/src/main/java/org/dromara/warm/flow/orm/utils/CommonUtil.java index 0191d5cb9cb8d2cc925787b83a018d151aa27bec..fe0c2c82419ce64e966c693a43df60df31fd5bbf 100644 --- a/warm-flow-orm/warm-flow-mybatis/warm-flow-mybatis-core/src/main/java/org/dromara/warm/flow/orm/utils/CommonUtil.java +++ b/warm-flow-orm/warm-flow-mybatis/warm-flow-mybatis-core/src/main/java/org/dromara/warm/flow/orm/utils/CommonUtil.java @@ -23,6 +23,9 @@ import javax.sql.DataSource; import java.sql.Connection; import java.sql.DatabaseMetaData; +/** + * @author 笨小孩 + */ public class CommonUtil { private CommonUtil() { @@ -34,21 +37,17 @@ public class CommonUtil { if (StringUtils.isEmpty(dataSourceType)) { DataSource dataSource = configuration.getEnvironment().getDataSource(); DatabaseMetaData metaData; - Connection connection = null; - try { - connection = dataSource.getConnection(); - metaData = connection.getMetaData(); - dataSourceType = metaData.getDatabaseProductName().toLowerCase(); - } catch (Exception e) { - // 不能因为一个字段的取值, 影响到框架自身运行环境 - // throw new RuntimeException(e); - } finally { + try (Connection connection = dataSource.getConnection()) { try { - connection.close(); + metaData = connection.getMetaData(); + dataSourceType = metaData.getDatabaseProductName().toLowerCase(); } catch (Exception e) { // 不能因为一个字段的取值, 影响到框架自身运行环境 // throw new RuntimeException(e); } + } catch (Exception e) { + // 不能因为一个字段的取值, 影响到框架自身运行环境 + // throw new RuntimeException(e); } } diff --git a/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/helper/SpelHelper.java b/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/helper/SpelHelper.java index f2ce011e58b885867577e54f35cb9c01844ffd02..31c57de68c0cc8c6acafd640d7fb320f10be5fb5 100644 --- a/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/helper/SpelHelper.java +++ b/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/helper/SpelHelper.java @@ -28,19 +28,20 @@ import org.springframework.expression.ParserContext; import org.springframework.expression.common.TemplateParserContext; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; +import org.springframework.lang.NonNull; import java.util.Map; /** - * 条件表达式spel + * 条件表达式 spel * - * @author warm + * @author warm,battcn */ @Configuration public class SpelHelper implements ApplicationContextAware { - private static final ExpressionParser parser = new SpelExpressionParser(); - private final static ParserContext parserContext = new TemplateParserContext(); + private static final ExpressionParser PARSER = new SpelExpressionParser(); + private final static ParserContext PARSER_CONTEXT = new TemplateParserContext(); private static ApplicationContext applicationContext; @@ -57,18 +58,18 @@ public class SpelHelper implements ApplicationContextAware { } /** - * @param expression - * @return + * @param expression expression + * @return Object */ public static Object parseExpression(String expression, Map variable) { StandardEvaluationContext context = new StandardEvaluationContext(); context.setBeanResolver(beanResolver()); context.setVariables(variable); - return parser.parseExpression(expression, parserContext).getValue(context, Object.class); + return PARSER.parseExpression(expression, PARSER_CONTEXT).getValue(context, Object.class); } @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { if (SpelHelper.applicationContext == null) { SpelHelper.applicationContext = applicationContext; } diff --git a/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/utils/SpringUtil.java b/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/utils/SpringUtil.java index 8450c9128fe52e4ec7ad5fd73abf810d2e263aca..5073d61daeba9672b544abeb0b80127c027dd7f9 100644 --- a/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/utils/SpringUtil.java +++ b/warm-flow-plugin/warm-flow-plugin-modes/warm-flow-plugin-modes-sb/src/main/java/org/dromara/warm/plugin/modes/sb/utils/SpringUtil.java @@ -18,6 +18,7 @@ package org.dromara.warm.plugin.modes.sb.utils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; /** @@ -31,21 +32,21 @@ public class SpringUtil implements ApplicationContextAware { /** * 获取applicationContext,应用上下文 * - * @return + * @return ApplicationContext */ public static ApplicationContext getApplicationContext() { return applicationContext; } @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { if (SpringUtil.applicationContext == null) { SpringUtil.applicationContext = applicationContext; } } /** - * 通过class获取Bean + * 通过 class 获取 Bean */ public static M getBean(Class clazz) { return getApplicationContext().getBean(clazz);